hal: Detect sound card dynamically
- HAL always assumed SOUND_CARD/MIXER_CARD
number to be zero. This could cause HAL
not to load when some other card is
detected earlier to HAL.
- Fix by removing these Macro(s) and reading
correct sound card number runtime while loading
- Corrected its use cases across HAL replacing it
with appropriate platform API
CRs-fixed: 580226
Change-Id: I4512e4a2f7f81d8415c3ba8ec393c96867e6d69a
diff --git a/hal/audio_extn/fm.c b/hal/audio_extn/fm.c
index eeba404..a4157f8 100644
--- a/hal/audio_extn/fm.c
+++ b/hal/audio_extn/fm.c
@@ -170,10 +170,10 @@
__func__, pcm_dev_rx_id, pcm_dev_tx_id, uc_info->id);
ALOGV("%s: Opening PCM playback device card_id(%d) device_id(%d)",
- __func__, SOUND_CARD, pcm_dev_rx_id);
- fmmod.fm_pcm_rx = pcm_open(SOUND_CARD,
- pcm_dev_rx_id,
- PCM_OUT, &pcm_config_fm);
+ __func__, adev->snd_card, pcm_dev_rx_id);
+ fmmod.fm_pcm_rx = pcm_open(adev->snd_card,
+ pcm_dev_rx_id,
+ PCM_OUT, &pcm_config_fm);
if (fmmod.fm_pcm_rx && !pcm_is_ready(fmmod.fm_pcm_rx)) {
ALOGE("%s: %s", __func__, pcm_get_error(fmmod.fm_pcm_rx));
ret = -EIO;
@@ -181,10 +181,10 @@
}
ALOGV("%s: Opening PCM capture device card_id(%d) device_id(%d)",
- __func__, SOUND_CARD, pcm_dev_tx_id);
- fmmod.fm_pcm_tx = pcm_open(SOUND_CARD,
- pcm_dev_tx_id,
- PCM_IN, &pcm_config_fm);
+ __func__, adev->snd_card, pcm_dev_tx_id);
+ fmmod.fm_pcm_tx = pcm_open(adev->snd_card,
+ pcm_dev_tx_id,
+ PCM_IN, &pcm_config_fm);
if (fmmod.fm_pcm_tx && !pcm_is_ready(fmmod.fm_pcm_tx)) {
ALOGE("%s: %s", __func__, pcm_get_error(fmmod.fm_pcm_tx));
ret = -EIO;