Audio: DLKM support for all audio modules

Switch to DLKM for all audio kernel modules.

Change-Id: I6a96023a21f655f873531af9ace81f2b01eb0f58
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
This commit is contained in:
Laxminath Kasam
2017-10-05 01:44:16 +05:30
parent 97c9da7a1e
commit 8b1366a648
115 changed files with 5347 additions and 353 deletions

View File

@@ -292,6 +292,14 @@ char *voc_get_session_name(u32 session_id)
return session_name;
}
/**
* voc_get_session_id -
* Get session ID of given voice session name
*
* @name: voice session name
*
* Returns session id for valid session or 0 if invalid.
*/
uint32_t voc_get_session_id(char *name)
{
u32 session_id = 0;
@@ -326,6 +334,7 @@ uint32_t voc_get_session_id(char *name)
return session_id;
}
EXPORT_SYMBOL(voc_get_session_id);
static struct voice_data *voice_get_session(u32 session_id)
{
@@ -1802,6 +1811,11 @@ static int voice_send_dtmf_rx_detection_cmd(struct voice_data *v,
return ret;
}
/**
* voc_disable_dtmf_det_on_active_sessions -
* command to disable DTMF detection for voice sessions
*
*/
void voc_disable_dtmf_det_on_active_sessions(void)
{
struct voice_data *v = NULL;
@@ -1818,7 +1832,17 @@ void voc_disable_dtmf_det_on_active_sessions(void)
}
}
}
EXPORT_SYMBOL(voc_disable_dtmf_det_on_active_sessions);
/**
* voc_enable_dtmf_rx_detection -
* command to set DTMF RX detection
*
* @session_id: voice session ID to send this command
* @enable: Enable or Disable detection
*
* Returns 0 on success or error on failure
*/
int voc_enable_dtmf_rx_detection(uint32_t session_id, uint32_t enable)
{
struct voice_data *v = voice_get_session(session_id);
@@ -1840,13 +1864,29 @@ int voc_enable_dtmf_rx_detection(uint32_t session_id, uint32_t enable)
return ret;
}
EXPORT_SYMBOL(voc_enable_dtmf_rx_detection);
/**
* voc_set_destroy_cvd_flag -
* set flag for destroy CVD session
*
* @is_destroy_cvd: bool value used to indicate
* destroy CVD session or not.
*
*/
void voc_set_destroy_cvd_flag(bool is_destroy_cvd)
{
pr_debug("%s: %d\n", __func__, is_destroy_cvd);
common.is_destroy_cvd = is_destroy_cvd;
}
EXPORT_SYMBOL(voc_set_destroy_cvd_flag);
/**
* voc_alloc_cal_shared_memory -
* Alloc mem map table for calibration
*
* Returns 0 on success or error on failure
*/
int voc_alloc_cal_shared_memory(void)
{
int rc = 0;
@@ -1867,7 +1907,14 @@ int voc_alloc_cal_shared_memory(void)
return rc;
}
EXPORT_SYMBOL(voc_alloc_cal_shared_memory);
/**
* voc_alloc_voip_shared_memory -
* Alloc mem map table for OOB
*
* Returns 0 on success or error on failure
*/
int voc_alloc_voip_shared_memory(void)
{
int rc = 0;
@@ -1890,6 +1937,7 @@ int voc_alloc_voip_shared_memory(void)
return rc;
}
EXPORT_SYMBOL(voc_alloc_voip_shared_memory);
static int is_cal_memory_allocated(void)
{
@@ -2218,6 +2266,14 @@ fail:
return ret;
}
/**
* voc_update_amr_vocoder_rate -
* command to update AMR rate for voice session
*
* @session_id: voice session ID to send this command
*
* Returns 0 on success or error on failure
*/
int voc_update_amr_vocoder_rate(uint32_t session_id)
{
int ret = 0;
@@ -2242,6 +2298,7 @@ int voc_update_amr_vocoder_rate(uint32_t session_id)
done:
return ret;
}
EXPORT_SYMBOL(voc_update_amr_vocoder_rate);
static int voice_send_start_voice_cmd(struct voice_data *v)
{
@@ -5640,6 +5697,16 @@ fail:
return ret;
}
/**
* voc_start_record -
* command to set record for voice session
*
* @port_id: Pseudo Port ID for record data
* @set: Enable or Disable for record start/stop
* @session_id: voice session ID to send this command
*
* Returns 0 on success or error on failure
*/
int voc_start_record(uint32_t port_id, uint32_t set, uint32_t session_id)
{
int ret = 0;
@@ -5774,6 +5841,7 @@ int voc_start_record(uint32_t port_id, uint32_t set, uint32_t session_id)
return ret;
}
EXPORT_SYMBOL(voc_start_record);
static int voice_cvs_start_playback(struct voice_data *v)
{
@@ -5962,6 +6030,15 @@ done:
return ret;
}
/**
* voc_start_playback -
* command to set playback for voice session
*
* @set: Enable or Disable for playback start/stop
* @port_id: Pseudo Port ID for playback data
*
* Returns 0 on success or error on failure
*/
int voc_start_playback(uint32_t set, uint16_t port_id)
{
struct voice_data *v = NULL;
@@ -6004,7 +6081,17 @@ int voc_start_playback(uint32_t set, uint16_t port_id)
return ret;
}
EXPORT_SYMBOL(voc_start_playback);
/**
* voc_disable_topology -
* disable topology for voice session
*
* @session_id: voice session ID to send this command
* @disable: disable value
*
* Returns 0 on success or error on failure
*/
int voc_disable_topology(uint32_t session_id, uint32_t disable)
{
struct voice_data *v = voice_get_session(session_id);
@@ -6024,6 +6111,7 @@ int voc_disable_topology(uint32_t session_id, uint32_t disable)
return ret;
}
EXPORT_SYMBOL(voc_disable_topology);
static int voice_set_packet_exchange_mode_and_config(uint32_t session_id,
uint32_t mode)
@@ -6057,6 +6145,17 @@ fail:
return -EINVAL;
}
/**
* voc_set_tx_mute -
* command to send TX mute for voice session
*
* @session_id: voice session ID to send this command
* @dir: RX or TX
* @mute: TX mute value
* @ramp_duration: Ramp duration in ms
*
* Returns 0 on success or error on failure
*/
int voc_set_tx_mute(uint32_t session_id, uint32_t dir, uint32_t mute,
uint32_t ramp_duration)
{
@@ -6089,7 +6188,19 @@ int voc_set_tx_mute(uint32_t session_id, uint32_t dir, uint32_t mute,
return ret;
}
EXPORT_SYMBOL(voc_set_tx_mute);
/**
* voc_set_device_mute -
* command to set device mute for voice session
*
* @session_id: voice session ID to send this command
* @dir: RX or TX
* @mute: mute value
* @ramp_duration: Ramp duration in ms
*
* Returns 0 on success or error on failure
*/
int voc_set_device_mute(uint32_t session_id, uint32_t dir, uint32_t mute,
uint32_t ramp_duration)
{
@@ -6130,6 +6241,7 @@ int voc_set_device_mute(uint32_t session_id, uint32_t dir, uint32_t mute,
return ret;
}
EXPORT_SYMBOL(voc_set_device_mute);
int voc_get_rx_device_mute(uint32_t session_id)
{
@@ -6151,6 +6263,15 @@ int voc_get_rx_device_mute(uint32_t session_id)
return ret;
}
/**
* voc_set_tty_mode -
* Update tty mode for voice session
*
* @session_id: voice session ID
* @tty_mode: TTY mode value
*
* Returns 0 on success or error on failure
*/
int voc_set_tty_mode(uint32_t session_id, uint8_t tty_mode)
{
struct voice_data *v = voice_get_session(session_id);
@@ -6170,7 +6291,16 @@ int voc_set_tty_mode(uint32_t session_id, uint8_t tty_mode)
return ret;
}
EXPORT_SYMBOL(voc_set_tty_mode);
/**
* voc_get_tty_mode -
* Retrieve tty mode for voice session
*
* @session_id: voice session ID
*
* Returns 0 on success or error on failure
*/
uint8_t voc_get_tty_mode(uint32_t session_id)
{
struct voice_data *v = voice_get_session(session_id);
@@ -6190,7 +6320,18 @@ uint8_t voc_get_tty_mode(uint32_t session_id)
return ret;
}
EXPORT_SYMBOL(voc_get_tty_mode);
/**
* voc_set_pp_enable -
* Command to set PP for voice module
*
* @session_id: voice session ID to send this command
* @module_id: voice module id
* @enable: enable/disable flag
*
* Returns 0 on success or error on failure
*/
int voc_set_pp_enable(uint32_t session_id, uint32_t module_id, uint32_t enable)
{
struct voice_data *v = NULL;
@@ -6225,7 +6366,17 @@ int voc_set_pp_enable(uint32_t session_id, uint32_t module_id, uint32_t enable)
return ret;
}
EXPORT_SYMBOL(voc_set_pp_enable);
/**
* voc_set_hd_enable -
* Command to set HD for voice session
*
* @session_id: voice session ID to send this command
* @enable: enable/disable flag
*
* Returns 0 on success or error on failure
*/
int voc_set_hd_enable(uint32_t session_id, uint32_t enable)
{
struct voice_data *v = NULL;
@@ -6252,7 +6403,17 @@ int voc_set_hd_enable(uint32_t session_id, uint32_t enable)
return ret;
}
EXPORT_SYMBOL(voc_set_hd_enable);
/**
* voc_set_afe_sidetone -
* Command to set sidetone at AFE
*
* @session_id: voice session ID to send this command
* @sidetone_enable: enable/disable flag for sidetone
*
* Returns 0 on success or error on failure
*/
int voc_set_afe_sidetone(uint32_t session_id, bool sidetone_enable)
{
struct voice_data *v = NULL;
@@ -6286,7 +6447,14 @@ int voc_set_afe_sidetone(uint32_t session_id, bool sidetone_enable)
}
return ret;
}
EXPORT_SYMBOL(voc_set_afe_sidetone);
/**
* voc_get_afe_sidetone -
* Retrieve sidetone status at AFE
*
* Returns sidetone enable status
*/
bool voc_get_afe_sidetone(void)
{
bool ret;
@@ -6294,6 +6462,7 @@ bool voc_get_afe_sidetone(void)
ret = common.sidetone_enable;
return ret;
}
EXPORT_SYMBOL(voc_get_afe_sidetone);
int voc_get_pp_enable(uint32_t session_id, uint32_t module_id)
{
@@ -6314,6 +6483,17 @@ int voc_get_pp_enable(uint32_t session_id, uint32_t module_id)
return ret;
}
/**
* voc_set_rx_vol_step -
* command to send voice RX volume in step value
*
* @session_id: voice session ID
* @dir: direction RX or TX
* @vol_step: Volume step value
* @ramp_duration: Ramp duration in ms
*
* Returns 0 on success or -EINVAL on failure
*/
int voc_set_rx_vol_step(uint32_t session_id, uint32_t dir, uint32_t vol_step,
uint32_t ramp_duration)
{
@@ -6344,7 +6524,18 @@ int voc_set_rx_vol_step(uint32_t session_id, uint32_t dir, uint32_t vol_step,
return ret;
}
EXPORT_SYMBOL(voc_set_rx_vol_step);
/**
* voc_set_device_config -
* Set voice path config for RX or TX
*
* @session_id: voice session ID
* @path_dir: direction RX or TX
* @finfo: format config info
*
* Returns 0 on success or -EINVAL on failure
*/
int voc_set_device_config(uint32_t session_id, uint8_t path_dir,
struct media_format_info *finfo)
{
@@ -6387,7 +6578,15 @@ int voc_set_device_config(uint32_t session_id, uint8_t path_dir,
return 0;
}
EXPORT_SYMBOL(voc_set_device_config);
/**
* voc_set_ext_ec_ref_media_fmt_info -
* Update voice EC media format info
*
* @finfo: media format info
*
*/
int voc_set_ext_ec_ref_media_fmt_info(struct media_format_info *finfo)
{
mutex_lock(&common.common_lock);
@@ -6404,7 +6603,18 @@ int voc_set_ext_ec_ref_media_fmt_info(struct media_format_info *finfo)
mutex_unlock(&common.common_lock);
return 0;
}
EXPORT_SYMBOL(voc_set_ext_ec_ref_media_fmt_info);
/**
* voc_set_route_flag -
* Set voice route state for RX or TX
*
* @session_id: voice session ID
* @path_dir: direction RX or TX
* @set: Value of route state to set
*
* Returns 0 on success or -EINVAL on failure
*/
int voc_set_route_flag(uint32_t session_id, uint8_t path_dir, uint8_t set)
{
struct voice_data *v = voice_get_session(session_id);
@@ -6428,7 +6638,17 @@ int voc_set_route_flag(uint32_t session_id, uint8_t path_dir, uint8_t set)
return 0;
}
EXPORT_SYMBOL(voc_set_route_flag);
/**
* voc_get_route_flag -
* Retrieve voice route state for RX or TX
*
* @session_id: voice session ID
* @path_dir: direction RX or TX
*
* Returns route state on success or 0 on failure
*/
uint8_t voc_get_route_flag(uint32_t session_id, uint8_t path_dir)
{
struct voice_data *v = voice_get_session(session_id);
@@ -6451,7 +6671,16 @@ uint8_t voc_get_route_flag(uint32_t session_id, uint8_t path_dir)
return ret;
}
EXPORT_SYMBOL(voc_get_route_flag);
/**
* voc_end_voice_call -
* command to end voice call
*
* @session_id: voice session ID to send this command
*
* Returns 0 on success or error on failure
*/
int voc_end_voice_call(uint32_t session_id)
{
struct voice_data *v = voice_get_session(session_id);
@@ -6488,7 +6717,16 @@ int voc_end_voice_call(uint32_t session_id)
mutex_unlock(&v->lock);
return ret;
}
EXPORT_SYMBOL(voc_end_voice_call);
/**
* voc_standby_voice_call -
* command to standy voice call
*
* @session_id: voice session ID to send this command
*
* Returns 0 on success or error on failure
*/
int voc_standby_voice_call(uint32_t session_id)
{
struct voice_data *v = voice_get_session(session_id);
@@ -6537,7 +6775,16 @@ int voc_standby_voice_call(uint32_t session_id)
fail:
return ret;
}
EXPORT_SYMBOL(voc_standby_voice_call);
/**
* voc_disable_device -
* command to pause call and disable voice path
*
* @session_id: voice session ID to send this command
*
* Returns 0 on success or error on failure
*/
int voc_disable_device(uint32_t session_id)
{
struct voice_data *v = voice_get_session(session_id);
@@ -6574,7 +6821,16 @@ done:
return ret;
}
EXPORT_SYMBOL(voc_disable_device);
/**
* voc_enable_device -
* command to enable voice path and start call
*
* @session_id: voice session ID to send this command
*
* Returns 0 on success or error on failure
*/
int voc_enable_device(uint32_t session_id)
{
struct voice_data *v = voice_get_session(session_id);
@@ -6662,7 +6918,17 @@ done:
return ret;
}
EXPORT_SYMBOL(voc_enable_device);
/**
* voc_set_lch -
* command to set hold/unhold call state
*
* @session_id: voice session ID to send this command
* @lch_mode: LCH mode to set
*
* Returns 0 on success or error on failure
*/
int voc_set_lch(uint32_t session_id, enum voice_lch_mode lch_mode)
{
struct voice_data *v = voice_get_session(session_id);
@@ -6696,7 +6962,16 @@ int voc_set_lch(uint32_t session_id, enum voice_lch_mode lch_mode)
done:
return ret;
}
EXPORT_SYMBOL(voc_set_lch);
/**
* voc_resume_voice_call -
* command to resume voice call
*
* @session_id: voice session ID to send this command
*
* Returns 0 on success or error on failure
*/
int voc_resume_voice_call(uint32_t session_id)
{
struct voice_data *v = voice_get_session(session_id);
@@ -6712,7 +6987,16 @@ int voc_resume_voice_call(uint32_t session_id)
fail:
return -EINVAL;
}
EXPORT_SYMBOL(voc_resume_voice_call);
/**
* voc_start_voice_call -
* command to start voice call
*
* @session_id: voice session ID to send this command
*
* Returns 0 on success or error on failure
*/
int voc_start_voice_call(uint32_t session_id)
{
struct voice_data *v = voice_get_session(session_id);
@@ -6819,7 +7103,14 @@ fail:
mutex_unlock(&v->lock);
return ret;
}
EXPORT_SYMBOL(voc_start_voice_call);
/**
* voc_set_ext_ec_ref_port_id -
* Set EC ref port id
*
* Returns 0 on success or -EINVAL on failure
*/
int voc_set_ext_ec_ref_port_id(uint16_t port_id, bool state)
{
int ret = 0;
@@ -6841,7 +7132,15 @@ exit:
mutex_unlock(&common.common_lock);
return ret;
}
EXPORT_SYMBOL(voc_set_ext_ec_ref_port_id);
/**
* voc_get_ext_ec_ref_port_id -
* Retrieve EC ref port id
*
* Returns EC Ref port id if present
* otherwise AFE_PORT_INVALID
*/
int voc_get_ext_ec_ref_port_id(void)
{
if (common.ec_ref_ext)
@@ -6849,7 +7148,18 @@ int voc_get_ext_ec_ref_port_id(void)
else
return AFE_PORT_INVALID;
}
EXPORT_SYMBOL(voc_get_ext_ec_ref_port_id);
/**
* voc_register_mvs_cb -
* Update callback info for mvs
*
* @ul_cb: Uplink callback fn
* @dl_cb: downlink callback fn
* ssr_cb: SSR callback fn
* @private_data: private data of mvs
*
*/
void voc_register_mvs_cb(ul_cb_fn ul_cb,
dl_cb_fn dl_cb,
voip_ssr_cb ssr_cb,
@@ -6860,14 +7170,28 @@ void voc_register_mvs_cb(ul_cb_fn ul_cb,
common.mvs_info.ssr_cb = ssr_cb;
common.mvs_info.private_data = private_data;
}
EXPORT_SYMBOL(voc_register_mvs_cb);
/**
* voc_register_dtmf_rx_detection_cb -
* Update callback info for dtmf
*
* @dtmf_rx_ul_cb: DTMF uplink RX callback fn
* @private_data: private data of dtmf info
*
*/
void voc_register_dtmf_rx_detection_cb(dtmf_rx_det_cb_fn dtmf_rx_ul_cb,
void *private_data)
{
common.dtmf_info.dtmf_rx_ul_cb = dtmf_rx_ul_cb;
common.dtmf_info.private_data = private_data;
}
EXPORT_SYMBOL(voc_register_dtmf_rx_detection_cb);
/**
* voc_config_vocoder -
* Update config for mvs params.
*/
void voc_config_vocoder(uint32_t media_type,
uint32_t rate,
uint32_t network_type,
@@ -6882,6 +7206,7 @@ void voc_config_vocoder(uint32_t media_type,
common.mvs_info.evrc_min_rate = evrc_min_rate;
common.mvs_info.evrc_max_rate = evrc_max_rate;
}
EXPORT_SYMBOL(voc_config_vocoder);
static int32_t qdsp_mvm_callback(struct apr_client_data *data, void *priv)
{
@@ -7753,6 +8078,14 @@ done:
return rc;
}
/**
* voc_send_cvp_start_vocpcm -
* command to start voice hpcm
*
* @session_id: voice session ID to send this command
*
* Returns 0 on success or error on failure
*/
int voc_send_cvp_start_vocpcm(uint32_t session_id,
struct vss_ivpcm_tap_point *vpcm_tp,
uint32_t no_of_tp)
@@ -7831,7 +8164,16 @@ int voc_send_cvp_start_vocpcm(uint32_t session_id,
done:
return ret;
}
EXPORT_SYMBOL(voc_send_cvp_start_vocpcm);
/**
* voc_send_cvp_stop_vocpcm -
* command to stop voice hpcm
*
* @session_id: voice session ID to send this command
*
* Returns 0 on success or error on failure
*/
int voc_send_cvp_stop_vocpcm(uint32_t session_id)
{
struct cvp_command vpcm_stop_cmd;
@@ -7892,7 +8234,19 @@ int voc_send_cvp_stop_vocpcm(uint32_t session_id)
done:
return ret;
}
EXPORT_SYMBOL(voc_send_cvp_stop_vocpcm);
/**
* voc_send_cvp_map_vocpcm_memory -
* command to map memory for voice hpcm
*
* @session_id: voice session ID to send this command
* @tp_mem_table: tap point memory table of hpcm
* paddr: Physical address of hpcm memory mapped area.
* bufsize: Buffer size of memory mapped area
*
* Returns 0 on success or error on failure
*/
int voc_send_cvp_map_vocpcm_memory(uint32_t session_id,
struct mem_map_table *tp_mem_table,
phys_addr_t paddr, uint32_t bufsize)
@@ -7902,7 +8256,16 @@ int voc_send_cvp_map_vocpcm_memory(uint32_t session_id,
(dma_addr_t) paddr, bufsize,
VOC_VOICE_HOST_PCM_MAP_TOKEN);
}
EXPORT_SYMBOL(voc_send_cvp_map_vocpcm_memory);
/**
* voc_send_cvp_unmap_vocpcm_memory -
* command to unmap memory for voice hpcm
*
* @session_id: voice session ID to send this command
*
* Returns 0 on success or error on failure
*/
int voc_send_cvp_unmap_vocpcm_memory(uint32_t session_id)
{
int ret = 0;
@@ -7916,7 +8279,16 @@ int voc_send_cvp_unmap_vocpcm_memory(uint32_t session_id)
return ret;
}
EXPORT_SYMBOL(voc_send_cvp_unmap_vocpcm_memory);
/**
* voc_send_cvp_vocpcm_push_buf_evt - Send buf event command
*
* @session_id: voice session ID to send this command
* @push_buff_evt: pointer with buffer event details
*
* Returns 0 on success or error on failure
*/
int voc_send_cvp_vocpcm_push_buf_evt(uint32_t session_id,
struct vss_ivpcm_evt_push_buffer_v2_t *push_buff_evt)
{
@@ -7979,20 +8351,41 @@ int voc_send_cvp_vocpcm_push_buf_evt(uint32_t session_id,
done:
return ret;
}
EXPORT_SYMBOL(voc_send_cvp_vocpcm_push_buf_evt);
/**
* voc_register_hpcm_evt_cb - Updates hostpcm info.
*
* @hostpcm_cb: callback function for hostpcm event
* @private_data: private data for hostpcm
*
*/
void voc_register_hpcm_evt_cb(hostpcm_cb_fn hostpcm_cb,
void *private_data)
{
common.hostpcm_info.hostpcm_evt_cb = hostpcm_cb;
common.hostpcm_info.private_data = private_data;
}
EXPORT_SYMBOL(voc_register_hpcm_evt_cb);
/**
* voc_deregister_hpcm_evt_cb - resets hostpcm info.
*
*/
void voc_deregister_hpcm_evt_cb(void)
{
common.hostpcm_info.hostpcm_evt_cb = NULL;
common.hostpcm_info.private_data = NULL;
}
EXPORT_SYMBOL(voc_deregister_hpcm_evt_cb);
/**
* voc_get_cvd_version - retrieve CVD version.
*
* @cvd_version: pointer to be updated with CVD version info.
*
* Returns 0 on success or error on failure
*/
int voc_get_cvd_version(char *cvd_version)
{
int ret = 0;
@@ -8041,6 +8434,7 @@ done:
return ret;
}
EXPORT_SYMBOL(voc_get_cvd_version);
static int voice_alloc_cal_mem_map_table(void)
{
@@ -8598,6 +8992,13 @@ done:
return ret;
}
/**
* voc_set_sound_focus - sends sound focus data.
*
* @soundFocusData: sound focus data.
*
* Returns 0 on success or error on failure
*/
int voc_set_sound_focus(struct sound_focus_param soundFocusData)
{
struct voice_data *v = NULL;
@@ -8629,6 +9030,7 @@ int voc_set_sound_focus(struct sound_focus_param soundFocusData)
return ret;
}
EXPORT_SYMBOL(voc_set_sound_focus);
static int voice_send_get_sound_focus_cmd(struct voice_data *v,
struct sound_focus_param *soundFocusData)
@@ -8727,6 +9129,13 @@ done:
return ret;
}
/**
* voc_get_sound_focus - retrieves sound focus data.
*
* @soundFocusData: pointer to be updated with sound focus data.
*
* Returns 0 on success or error on failure
*/
int voc_get_sound_focus(struct sound_focus_param *soundFocusData)
{
struct voice_data *v = NULL;
@@ -8758,6 +9167,7 @@ int voc_get_sound_focus(struct sound_focus_param *soundFocusData)
return ret;
}
EXPORT_SYMBOL(voc_get_sound_focus);
static int is_source_tracking_shared_memomry_allocated(void)
{
@@ -9045,6 +9455,13 @@ done:
return ret;
}
/**
* voc_get_source_tracking - retrieves source track data.
*
* @sourceTrackingData: pointer to be updated with source track data.
*
* Returns 0 on success or error on failure
*/
int voc_get_source_tracking(struct source_tracking_param *sourceTrackingData)
{
struct voice_data *v = NULL;
@@ -9077,13 +9494,21 @@ int voc_get_source_tracking(struct source_tracking_param *sourceTrackingData)
return ret;
}
EXPORT_SYMBOL(voc_get_source_tracking);
/**
* is_voc_initialized:
*
* Returns voice module init status
*
*/
int is_voc_initialized(void)
{
return module_initialized;
}
EXPORT_SYMBOL(is_voc_initialized);
static int __init voice_init(void)
int __init voice_init(void)
{
int rc = 0, i = 0;
@@ -9180,12 +9605,9 @@ static int __init voice_init(void)
return rc;
}
device_initcall(voice_init);
static void __exit voice_exit(void)
void __exit voice_exit(void)
{
voice_delete_cal_data();
free_cal_map_table();
}
__exitcall(voice_exit);