Merge "hal: load CSD library by checking number of modems"
This commit is contained in:
commit
2ababc8f4b
|
@ -121,7 +121,8 @@ LOCAL_SHARED_LIBRARIES := \
|
|||
libtinycompress \
|
||||
libaudioroute \
|
||||
libdl \
|
||||
libexpat
|
||||
libexpat \
|
||||
libmdmdetect
|
||||
|
||||
LOCAL_C_INCLUDES += \
|
||||
external/tinyalsa/include \
|
||||
|
@ -131,7 +132,8 @@ LOCAL_C_INCLUDES += \
|
|||
$(call include-path-for, audio-effects) \
|
||||
$(LOCAL_PATH)/$(AUDIO_PLATFORM) \
|
||||
$(LOCAL_PATH)/audio_extn \
|
||||
$(LOCAL_PATH)/voice_extn
|
||||
$(LOCAL_PATH)/voice_extn \
|
||||
$(TARGET_OUT_HEADERS)/libmdmdetect/inc
|
||||
|
||||
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_LISTEN)),true)
|
||||
LOCAL_CFLAGS += -DAUDIO_LISTEN_ENABLED
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include "audio_extn.h"
|
||||
#include "voice_extn.h"
|
||||
#include "sound/compress_params.h"
|
||||
#include "mdm_detect.h"
|
||||
|
||||
#define MIXER_XML_PATH "/system/etc/mixer_paths.xml"
|
||||
#define MIXER_XML_PATH_AUXPCM "/system/etc/mixer_paths_auxpcm.xml"
|
||||
|
@ -539,10 +540,28 @@ void close_csd_client(struct csd_data *csd)
|
|||
}
|
||||
}
|
||||
|
||||
static void platform_csd_init(struct platform_data *plat_data)
|
||||
{
|
||||
struct dev_info mdm_detect_info;
|
||||
int ret = 0;
|
||||
|
||||
/* Call ESOC API to get the number of modems.
|
||||
* If the number of modems is not zero, load CSD Client specific
|
||||
* symbols. Voice call is handled by MDM and apps processor talks to
|
||||
* MDM through CSD Client
|
||||
*/
|
||||
ret = get_system_info(&mdm_detect_info);
|
||||
if (ret > 0) {
|
||||
ALOGE("%s: Failed to get system info, ret %d", __func__, ret);
|
||||
}
|
||||
ALOGD("%s: num_modems %d\n", __func__, mdm_detect_info.num_modems);
|
||||
|
||||
if (mdm_detect_info.num_modems > 0)
|
||||
plat_data->csd = open_csd_client();
|
||||
}
|
||||
|
||||
void *platform_init(struct audio_device *adev)
|
||||
{
|
||||
char platform[PROPERTY_VALUE_MAX];
|
||||
char baseband[PROPERTY_VALUE_MAX];
|
||||
char value[PROPERTY_VALUE_MAX];
|
||||
struct platform_data *my_data = NULL;
|
||||
int retry_num = 0, snd_card_num = 0;
|
||||
|
@ -678,16 +697,8 @@ void *platform_init(struct audio_device *adev)
|
|||
/* Initialize ACDB ID's */
|
||||
platform_info_init();
|
||||
|
||||
/* If platform is apq8084 and baseband is MDM, load CSD Client specific
|
||||
* symbols. Voice call is handled by MDM and apps processor talks to
|
||||
* MDM through CSD Client
|
||||
*/
|
||||
property_get("ro.board.platform", platform, "");
|
||||
property_get("ro.baseband", baseband, "");
|
||||
if (!strncmp("apq8084", platform, sizeof("apq8084")) &&
|
||||
!strncmp("mdm", baseband, sizeof("mdm"))) {
|
||||
my_data->csd = open_csd_client();
|
||||
}
|
||||
/* load csd client */
|
||||
platform_csd_init(my_data);
|
||||
|
||||
/* init usb */
|
||||
audio_extn_usb_init(adev);
|
||||
|
|
Loading…
Reference in New Issue