diff options
Diffstat (limited to 'hal/msm8960/platform.c')
-rw-r--r-- | hal/msm8960/platform.c | 54 |
1 files changed, 52 insertions, 2 deletions
diff --git a/hal/msm8960/platform.c b/hal/msm8960/platform.c index 4002d829..d8596050 100644 --- a/hal/msm8960/platform.c +++ b/hal/msm8960/platform.c @@ -38,6 +38,8 @@ #include "sound/msmcal-hwdep.h" #endif +#define UNUSED(a) ((void)(a)) + #define SOUND_TRIGGER_DEVICE_HANDSET_MONO_LOW_POWER_ACDB_ID (100) #define MIXER_XML_PATH "/system/etc/mixer_paths.xml" @@ -611,14 +613,24 @@ static struct csd_data *open_csd_client() goto error; } csd->start_voice = (start_voice_t)dlsym(csd->csd_client, - "csd_client_start_voice"); +#ifdef SAMSUNG_CSDCLIENT + "csd_client_start_voice_og" +#else + "csd_client_start_voice" +#endif + ); if (csd->start_voice == NULL) { ALOGE("%s: dlsym error %s for csd_client_start_voice", __func__, dlerror()); goto error; } csd->stop_voice = (stop_voice_t)dlsym(csd->csd_client, - "csd_client_stop_voice"); +#ifdef SAMSUNG_CSDCLIENT + "csd_client_stop_voice_og" +#else + "csd_client_stop_voice" +#endif + ); if (csd->stop_voice == NULL) { ALOGE("%s: dlsym error %s for csd_client_stop_voice", __func__, dlerror()); @@ -1183,7 +1195,12 @@ int platform_start_voice_call(void *platform, uint32_t vsid) int ret = 0; if (my_data->csd != NULL) { +#ifdef NEW_CSDCLIENT ret = my_data->csd->start_voice(vsid); +#else + UNUSED(vsid); + ret = my_data->csd->start_voice(); +#endif if (ret < 0) { ALOGE("%s: csd_start_voice error %d\n", __func__, ret); } @@ -1197,7 +1214,12 @@ int platform_stop_voice_call(void *platform, uint32_t vsid) int ret = 0; if (my_data->csd != NULL) { +#ifdef NEW_CSDCLIENT ret = my_data->csd->stop_voice(vsid); +#else + UNUSED(vsid); + ret = my_data->csd->stop_voice(); +#endif if (ret < 0) { ALOGE("%s: csd_stop_voice error %d\n", __func__, ret); } @@ -1228,7 +1250,11 @@ int platform_set_voice_volume(void *platform, int volume) mixer_ctl_set_value(ctl, 0, vol_index); if (my_data->csd != NULL) { +#ifdef NEW_CSDCLIENT ret = my_data->csd->volume(ALL_SESSION_VSID, volume); +#else + ret = my_data->csd->volume(volume); +#endif if (ret < 0) { ALOGE("%s: csd_volume error %d", __func__, ret); } @@ -1254,7 +1280,11 @@ int platform_set_mic_mute(void *platform, bool state) mixer_ctl_set_value(ctl, 0, state); if (my_data->csd != NULL) { +#ifdef NEW_CSDCLIENT ret = my_data->csd->mic_mute(ALL_SESSION_VSID, state); +#else + ret = my_data->csd->mic_mute(state); +#endif if (ret < 0) { ALOGE("%s: csd_mic_mute error %d", __func__, ret); } @@ -1819,7 +1849,11 @@ static int platform_set_slowtalk(struct platform_data *my_data, bool state) } if (my_data->csd != NULL) { +#ifdef NEW_CSDCLIENT ret = my_data->csd->slow_talk(ALL_SESSION_VSID, state); +#else + ret = my_data->csd->slow_talk(state); +#endif if (ret < 0) { ALOGE("%s: csd_client_disable_device, failed, error %d", __func__, ret); @@ -1894,7 +1928,11 @@ int platform_set_incall_recording_session_id(void *platform, struct platform_data *my_data = (struct platform_data *)platform; if (my_data->csd != NULL) { +#ifdef NEW_CSDCLIENT ret = my_data->csd->start_record(ALL_SESSION_VSID, rec_mode); +#else + ret = my_data->csd->start_record(rec_mode); +#endif if (ret < 0) { ALOGE("%s: csd_client_start_record failed, error %d", __func__, ret); @@ -1910,7 +1948,11 @@ int platform_stop_incall_recording_usecase(void *platform) struct platform_data *my_data = (struct platform_data *)platform; if (my_data->csd != NULL) { +#ifdef NEW_CSDCLIENT ret = my_data->csd->stop_record(ALL_SESSION_VSID); +#else + ret = my_data->csd->stop_record(); +#endif if (ret < 0) { ALOGE("%s: csd_client_stop_record failed, error %d", __func__, ret); @@ -1926,7 +1968,11 @@ int platform_start_incall_music_usecase(void *platform) struct platform_data *my_data = (struct platform_data *)platform; if (my_data->csd != NULL) { +#ifdef NEW_CSDCLIENT ret = my_data->csd->start_playback(ALL_SESSION_VSID); +#else + ret = my_data->csd->start_playback(); +#endif if (ret < 0) { ALOGE("%s: csd_client_start_playback failed, error %d", __func__, ret); @@ -1942,7 +1988,11 @@ int platform_stop_incall_music_usecase(void *platform) struct platform_data *my_data = (struct platform_data *)platform; if (my_data->csd != NULL) { +#ifdef NEW_CSDCLIENT ret = my_data->csd->stop_playback(ALL_SESSION_VSID); +#else + ret = my_data->csd->stop_playback(); +#endif if (ret < 0) { ALOGE("%s: csd_client_stop_playback failed, error %d", __func__, ret); |