hal : Support for another instance of fm recording

   -Added support for one more instance of fm recording
    to play fm over a2dp.

Change-Id: I0c796c5acdc045327a8d43754e7530aab10097d9
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 44842b5..691a833 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -98,14 +98,16 @@
     [USECASE_AUDIO_PLAYBACK_DEEP_BUFFER] = {DEEP_BUFFER_PCM_DEVICE,
                                             DEEP_BUFFER_PCM_DEVICE},
     [USECASE_AUDIO_PLAYBACK_LOW_LATENCY] = {LOWLATENCY_PCM_DEVICE,
-                                            LOWLATENCY_PCM_DEVICE},
-    [USECASE_AUDIO_PLAYBACK_MULTI_CH] = {MULTI_CHANNEL_PCM_DEVICE,
-                                         MULTI_CHANNEL_PCM_DEVICE},
+                                           LOWLATENCY_PCM_DEVICE},
+    [USECASE_AUDIO_PLAYBACK_MULTI_CH] = {MULTIMEDIA2_PCM_DEVICE,
+                                        MULTIMEDIA2_PCM_DEVICE},
     [USECASE_AUDIO_PLAYBACK_OFFLOAD] =
                      {PLAYBACK_OFFLOAD_DEVICE, PLAYBACK_OFFLOAD_DEVICE},
     [USECASE_AUDIO_RECORD] = {AUDIO_RECORD_PCM_DEVICE, AUDIO_RECORD_PCM_DEVICE},
     [USECASE_AUDIO_RECORD_LOW_LATENCY] = {LOWLATENCY_PCM_DEVICE,
                                           LOWLATENCY_PCM_DEVICE},
+    [USECASE_AUDIO_RECORD_FM_VIRTUAL] = {MULTIMEDIA2_PCM_DEVICE,
+                                  MULTIMEDIA2_PCM_DEVICE},
     [USECASE_AUDIO_PLAYBACK_FM] = {FM_PLAYBACK_PCM_DEVICE, FM_CAPTURE_PCM_DEVICE},
     [USECASE_VOICE_CALL] = {VOICE_CALL_PCM_DEVICE, VOICE_CALL_PCM_DEVICE},
     [USECASE_VOICE2_CALL] = {VOICE2_CALL_PCM_DEVICE, VOICE2_CALL_PCM_DEVICE},
@@ -834,10 +836,8 @@
             } else
                 set_echo_reference(adev->mixer, "NONE");
         }
-    } else if (source == AUDIO_SOURCE_FM_RX) {
-        if (in_device & AUDIO_DEVICE_IN_FM_RX) {
-            snd_device = SND_DEVICE_IN_CAPTURE_FM;
-        }
+    } else if (source == AUDIO_SOURCE_FM_RX || AUDIO_SOURCE_FM_RX_A2DP) {
+        snd_device = SND_DEVICE_IN_CAPTURE_FM;
     } else if (source == AUDIO_SOURCE_DEFAULT) {
         goto exit;
     }
@@ -1127,3 +1127,12 @@
             return 0;
     }
 }
+
+int platform_get_usecase_from_source(int source)
+{
+    ALOGV("%s: input source ", __func__, source);
+    if(AUDIO_SOURCE_FM_RX_A2DP)
+        return USECASE_AUDIO_RECORD_FM_VIRTUAL;
+    else
+        return USECASE_AUDIO_RECORD;
+}