audio: hal: enable ext FM usecase via audio patch

Support external FM Tuner usecase via device
to device audio patch configuration.

Change-Id: I876ca3f1b4aeb79593a75128ff640083803e07fe
diff --git a/hal/audio_hw.h b/hal/audio_hw.h
index 4810896..0a1569d 100644
--- a/hal/audio_hw.h
+++ b/hal/audio_hw.h
@@ -228,6 +228,8 @@
     USECASE_AUDIO_PLAYBACK_NAV_GUIDANCE,
     USECASE_AUDIO_PLAYBACK_PHONE,
 
+    /*Audio FM Tuner usecase*/
+    USECASE_AUDIO_FM_TUNER_EXT,
     AUDIO_USECASE_MAX
 };
 
@@ -494,6 +496,7 @@
     PCM_HFP_CALL,
     TRANSCODE_LOOPBACK_RX,
     TRANSCODE_LOOPBACK_TX,
+    PCM_PASSTHROUGH,
     USECASE_TYPE_MAX
 } usecase_type_t;
 
@@ -673,6 +676,16 @@
     bool use_old_pspd_mix_ctrl;
     int camera_orientation; /* CAMERA_BACK_LANDSCAPE ... CAMERA_FRONT_PORTRAIT */
     bool adm_routing_changed;
+    struct listnode audio_patch_record_list;
+    unsigned int audio_patch_index;
+};
+
+struct audio_patch_record {
+    struct listnode list;
+    audio_patch_handle_t handle;
+    audio_usecase_t usecase;
+    audio_io_handle_t input_io_handle;
+    audio_io_handle_t output_io_handle;
 };
 
 int select_devices(struct audio_device *adev,