hal: update combo device handling
If the wired headset/headphone/line devices are handled by
a different backend than speaker/earpiece devices, the combo
devices such as speaker+headphones can be split into individual
devices and enabled/disabled independently.
CRs-fixed: 989410
Change-Id: I379b56940eaf384d3cd1d9fe392b7fec65df023b
diff --git a/hal/platform_api.h b/hal/platform_api.h
index fb72e40..65bcc98 100644
--- a/hal/platform_api.h
+++ b/hal/platform_api.h
@@ -54,7 +54,6 @@
int platform_get_snd_device_bit_width(snd_device_t snd_device);
int platform_set_native_support(int na_mode);
int platform_get_native_support();
-int platform_get_backend_index(snd_device_t snd_device);
int platform_send_audio_calibration(void *platform, struct audio_usecase *usecase,
int app_type, int sample_rate);
int platform_get_default_app_type(void *platform);
@@ -99,7 +98,8 @@
bool platform_sound_trigger_device_needs_event(snd_device_t snd_device);
bool platform_sound_trigger_usecase_needs_event(audio_usecase_t uc_id);
-int platform_set_snd_device_backend(snd_device_t snd_device, const char * backend);
+int platform_set_snd_device_backend(snd_device_t snd_device, const char * backend,
+ const char * hw_interface);
/* From platform_info.c */
int platform_info_init(const char *filename, void *);
@@ -138,4 +138,10 @@
int platform_get_spkr_prot_acdb_id(snd_device_t snd_device);
int platform_get_spkr_prot_snd_device(snd_device_t snd_device);
int platform_spkr_prot_is_wsa_analog_mode(void *adev);
+bool platform_can_split_snd_device(void *platform,
+ snd_device_t snd_device,
+ int *num_devices,
+ snd_device_t *new_snd_devices);
+
+bool platform_check_backends_match(snd_device_t snd_device1, snd_device_t snd_device2);
#endif // AUDIO_PLATFORM_API_H