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/hfp.c b/hal/audio_extn/hfp.c
index e0bdc52..6b0546a 100644
--- a/hal/audio_extn/hfp.c
+++ b/hal/audio_extn/hfp.c
@@ -113,8 +113,8 @@
__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);
- hfpmod.hfp_sco_rx = pcm_open(SOUND_CARD,
+ __func__, adev->snd_card, pcm_dev_rx_id);
+ hfpmod.hfp_sco_rx = pcm_open(adev->snd_card,
pcm_dev_asm_rx_id,
PCM_OUT, &pcm_config_hfp);
if (hfpmod.hfp_sco_rx && !pcm_is_ready(hfpmod.hfp_sco_rx)) {
@@ -123,8 +123,8 @@
goto exit;
}
ALOGD("%s: Opening PCM capture device card_id(%d) device_id(%d)",
- __func__, SOUND_CARD, pcm_dev_tx_id);
- hfpmod.hfp_pcm_rx = pcm_open(SOUND_CARD,
+ __func__, adev->snd_card, pcm_dev_tx_id);
+ hfpmod.hfp_pcm_rx = pcm_open(adev->snd_card,
pcm_dev_rx_id,
PCM_OUT, &pcm_config_hfp);
if (hfpmod.hfp_pcm_rx && !pcm_is_ready(hfpmod.hfp_pcm_rx)) {
@@ -132,7 +132,7 @@
ret = -EIO;
goto exit;
}
- hfpmod.hfp_sco_tx = pcm_open(SOUND_CARD,
+ hfpmod.hfp_sco_tx = pcm_open(adev->snd_card,
pcm_dev_asm_tx_id,
PCM_IN, &pcm_config_hfp);
if (hfpmod.hfp_sco_tx && !pcm_is_ready(hfpmod.hfp_sco_tx)) {
@@ -141,8 +141,8 @@
goto exit;
}
ALOGV("%s: Opening PCM capture device card_id(%d) device_id(%d)",
- __func__, SOUND_CARD, pcm_dev_tx_id);
- hfpmod.hfp_pcm_tx = pcm_open(SOUND_CARD,
+ __func__, adev->snd_card, pcm_dev_tx_id);
+ hfpmod.hfp_pcm_tx = pcm_open(adev->snd_card,
pcm_dev_tx_id,
PCM_IN, &pcm_config_hfp);
if (hfpmod.hfp_pcm_tx && !pcm_is_ready(hfpmod.hfp_pcm_tx)) {