ASoC: codec: Update codec driver to component driver
Some alsa API are removed in kernel-4.19 which would cause codec driver compile failure. Update codec driver to fix it. Change-Id: Ie358ec1863082166958059c179300b453d2a03ad Signed-off-by: Meng Wang <mengw@codeaurora.org>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

父節點
ee084a068e
當前提交
15c825d077
@@ -48,7 +48,7 @@ static bool wcd_mbhc_detect_anc_plug_type(struct wcd_mbhc *mbhc)
|
||||
if (val)
|
||||
WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_FSM_EN, 0);
|
||||
|
||||
mbhc->mbhc_cb->mbhc_micbias_control(mbhc->codec,
|
||||
mbhc->mbhc_cb->mbhc_micbias_control(mbhc->component,
|
||||
mbhc->mbhc_cfg->anc_micbias,
|
||||
MICB_ENABLE);
|
||||
WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_MUX_CTL, 0x2);
|
||||
@@ -103,7 +103,7 @@ exit:
|
||||
|
||||
WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_ANC_DET_EN, 0);
|
||||
|
||||
mbhc->mbhc_cb->mbhc_micbias_control(mbhc->codec,
|
||||
mbhc->mbhc_cb->mbhc_micbias_control(mbhc->component,
|
||||
mbhc->mbhc_cfg->anc_micbias,
|
||||
MICB_DISABLE);
|
||||
WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_MUX_CTL, 0x0);
|
||||
@@ -127,7 +127,7 @@ static int wcd_check_cross_conn(struct wcd_mbhc *mbhc)
|
||||
|
||||
/* If PA is enabled, dont check for cross-connection */
|
||||
if (mbhc->mbhc_cb->hph_pa_on_status)
|
||||
if (mbhc->mbhc_cb->hph_pa_on_status(mbhc->codec))
|
||||
if (mbhc->mbhc_cb->hph_pa_on_status(mbhc->component))
|
||||
return false;
|
||||
|
||||
WCD_MBHC_REG_READ(WCD_MBHC_ELECT_SCHMT_ISRC, reg1);
|
||||
@@ -168,7 +168,7 @@ static int wcd_check_cross_conn(struct wcd_mbhc *mbhc)
|
||||
|
||||
static bool wcd_is_special_headset(struct wcd_mbhc *mbhc)
|
||||
{
|
||||
struct snd_soc_codec *codec = mbhc->codec;
|
||||
struct snd_soc_component *component = mbhc->component;
|
||||
int delay = 0, rc;
|
||||
bool ret = false;
|
||||
u16 hs_comp_res;
|
||||
@@ -184,7 +184,7 @@ static bool wcd_is_special_headset(struct wcd_mbhc *mbhc)
|
||||
__func__);
|
||||
return false;
|
||||
} else if (mbhc->mbhc_cb->mbhc_micb_ctrl_thr_mic) {
|
||||
rc = mbhc->mbhc_cb->mbhc_micb_ctrl_thr_mic(codec,
|
||||
rc = mbhc->mbhc_cb->mbhc_micb_ctrl_thr_mic(component,
|
||||
MIC_BIAS_2, true);
|
||||
if (rc) {
|
||||
pr_err("%s: Micbias control for thr mic failed, rc: %d\n",
|
||||
@@ -206,17 +206,17 @@ static bool wcd_is_special_headset(struct wcd_mbhc *mbhc)
|
||||
}
|
||||
delay = delay + 50;
|
||||
if (mbhc->mbhc_cb->mbhc_common_micb_ctrl) {
|
||||
mbhc->mbhc_cb->mbhc_common_micb_ctrl(codec,
|
||||
mbhc->mbhc_cb->mbhc_common_micb_ctrl(component,
|
||||
MBHC_COMMON_MICB_PRECHARGE,
|
||||
true);
|
||||
mbhc->mbhc_cb->mbhc_common_micb_ctrl(codec,
|
||||
mbhc->mbhc_cb->mbhc_common_micb_ctrl(component,
|
||||
MBHC_COMMON_MICB_SET_VAL,
|
||||
true);
|
||||
}
|
||||
/* Wait for 50msec for MICBIAS to settle down */
|
||||
msleep(50);
|
||||
if (mbhc->mbhc_cb->set_auto_zeroing)
|
||||
mbhc->mbhc_cb->set_auto_zeroing(codec, true);
|
||||
mbhc->mbhc_cb->set_auto_zeroing(component, true);
|
||||
/* Wait for 50msec for FSM to update result values */
|
||||
msleep(50);
|
||||
WCD_MBHC_REG_READ(WCD_MBHC_HS_COMP_RESULT, hs_comp_res);
|
||||
@@ -237,17 +237,17 @@ static bool wcd_is_special_headset(struct wcd_mbhc *mbhc)
|
||||
ret = true;
|
||||
}
|
||||
if (mbhc->mbhc_cb->mbhc_common_micb_ctrl)
|
||||
mbhc->mbhc_cb->mbhc_common_micb_ctrl(codec,
|
||||
mbhc->mbhc_cb->mbhc_common_micb_ctrl(component,
|
||||
MBHC_COMMON_MICB_PRECHARGE,
|
||||
false);
|
||||
if (mbhc->mbhc_cb->set_micbias_value && !mbhc->micbias_enable)
|
||||
mbhc->mbhc_cb->set_micbias_value(codec);
|
||||
mbhc->mbhc_cb->set_micbias_value(component);
|
||||
if (mbhc->mbhc_cb->set_auto_zeroing)
|
||||
mbhc->mbhc_cb->set_auto_zeroing(codec, false);
|
||||
mbhc->mbhc_cb->set_auto_zeroing(component, false);
|
||||
|
||||
if (mbhc->mbhc_cb->mbhc_micb_ctrl_thr_mic &&
|
||||
!mbhc->micbias_enable)
|
||||
mbhc->mbhc_cb->mbhc_micb_ctrl_thr_mic(codec, MIC_BIAS_2,
|
||||
mbhc->mbhc_cb->mbhc_micb_ctrl_thr_mic(component, MIC_BIAS_2,
|
||||
false);
|
||||
|
||||
pr_debug("%s: leave, micb_enable: %d\n", __func__,
|
||||
@@ -282,7 +282,7 @@ static void wcd_enable_mbhc_supply(struct wcd_mbhc *mbhc,
|
||||
enum wcd_mbhc_plug_type plug_type)
|
||||
{
|
||||
|
||||
struct snd_soc_codec *codec = mbhc->codec;
|
||||
struct snd_soc_component *component = mbhc->component;
|
||||
|
||||
/*
|
||||
* Do not disable micbias if recording is going on or
|
||||
@@ -294,7 +294,7 @@ static void wcd_enable_mbhc_supply(struct wcd_mbhc *mbhc,
|
||||
*/
|
||||
if (det_extn_cable_en && mbhc->is_extn_cable &&
|
||||
mbhc->mbhc_cb && mbhc->mbhc_cb->extn_use_mb &&
|
||||
mbhc->mbhc_cb->extn_use_mb(codec)) {
|
||||
mbhc->mbhc_cb->extn_use_mb(component)) {
|
||||
if (plug_type == MBHC_PLUG_TYPE_HEADPHONE ||
|
||||
plug_type == MBHC_PLUG_TYPE_HEADSET)
|
||||
wcd_enable_curr_micbias(mbhc, WCD_MBHC_EN_MB);
|
||||
@@ -340,7 +340,7 @@ static bool wcd_mbhc_check_for_spl_headset(struct wcd_mbhc *mbhc,
|
||||
}
|
||||
|
||||
/* Bump up MB2 to 2.7v */
|
||||
mbhc->mbhc_cb->mbhc_micb_ctrl_thr_mic(mbhc->codec,
|
||||
mbhc->mbhc_cb->mbhc_micb_ctrl_thr_mic(mbhc->component,
|
||||
mbhc->mbhc_cfg->mbhc_micbias, true);
|
||||
WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_FSM_EN, 0);
|
||||
WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_FSM_EN, 1);
|
||||
@@ -356,7 +356,7 @@ static bool wcd_mbhc_check_for_spl_headset(struct wcd_mbhc *mbhc,
|
||||
|
||||
/* MB2 back to 1.8v */
|
||||
if (*spl_hs_cnt != WCD_MBHC_SPL_HS_CNT) {
|
||||
mbhc->mbhc_cb->mbhc_micb_ctrl_thr_mic(mbhc->codec,
|
||||
mbhc->mbhc_cb->mbhc_micb_ctrl_thr_mic(mbhc->component,
|
||||
mbhc->mbhc_cfg->mbhc_micbias, false);
|
||||
WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_FSM_EN, 0);
|
||||
WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_FSM_EN, 1);
|
||||
@@ -399,24 +399,24 @@ static void wcd_cancel_hs_detect_plug(struct wcd_mbhc *mbhc,
|
||||
/* called under codec_resource_lock acquisition */
|
||||
static void wcd_mbhc_detect_plug_type(struct wcd_mbhc *mbhc)
|
||||
{
|
||||
struct snd_soc_codec *codec = mbhc->codec;
|
||||
struct snd_soc_component *component = mbhc->component;
|
||||
bool micbias1 = false;
|
||||
|
||||
pr_debug("%s: enter\n", __func__);
|
||||
WCD_MBHC_RSC_ASSERT_LOCKED(mbhc);
|
||||
|
||||
if (mbhc->mbhc_cb->hph_pull_down_ctrl)
|
||||
mbhc->mbhc_cb->hph_pull_down_ctrl(codec, false);
|
||||
mbhc->mbhc_cb->hph_pull_down_ctrl(component, false);
|
||||
|
||||
if (mbhc->mbhc_cb->micbias_enable_status)
|
||||
micbias1 = mbhc->mbhc_cb->micbias_enable_status(mbhc,
|
||||
MIC_BIAS_1);
|
||||
|
||||
if (mbhc->mbhc_cb->set_cap_mode)
|
||||
mbhc->mbhc_cb->set_cap_mode(codec, micbias1, true);
|
||||
mbhc->mbhc_cb->set_cap_mode(component, micbias1, true);
|
||||
|
||||
if (mbhc->mbhc_cb->mbhc_micbias_control)
|
||||
mbhc->mbhc_cb->mbhc_micbias_control(codec, MIC_BIAS_2,
|
||||
mbhc->mbhc_cb->mbhc_micbias_control(component, MIC_BIAS_2,
|
||||
MICB_ENABLE);
|
||||
else
|
||||
wcd_enable_curr_micbias(mbhc, WCD_MBHC_EN_MB);
|
||||
@@ -430,7 +430,7 @@ static void wcd_mbhc_detect_plug_type(struct wcd_mbhc *mbhc)
|
||||
static void wcd_correct_swch_plug(struct work_struct *work)
|
||||
{
|
||||
struct wcd_mbhc *mbhc;
|
||||
struct snd_soc_codec *codec;
|
||||
struct snd_soc_component *component;
|
||||
enum wcd_mbhc_plug_type plug_type = MBHC_PLUG_TYPE_INVALID;
|
||||
unsigned long timeout;
|
||||
u16 hs_comp_res = 0, hphl_sch = 0, mic_sch = 0, btn_result = 0;
|
||||
@@ -448,7 +448,7 @@ static void wcd_correct_swch_plug(struct work_struct *work)
|
||||
pr_debug("%s: enter\n", __func__);
|
||||
|
||||
mbhc = container_of(work, struct wcd_mbhc, correct_plug_swch);
|
||||
codec = mbhc->codec;
|
||||
component = mbhc->component;
|
||||
|
||||
/*
|
||||
* Enable micbias/pullup for detection in correct work.
|
||||
@@ -528,10 +528,10 @@ correct_plug_type:
|
||||
if (mbhc->mbhc_cb->mbhc_micb_ctrl_thr_mic &&
|
||||
mbhc->micbias_enable) {
|
||||
mbhc->mbhc_cb->mbhc_micb_ctrl_thr_mic(
|
||||
mbhc->codec, MIC_BIAS_2, false);
|
||||
mbhc->component, MIC_BIAS_2, false);
|
||||
if (mbhc->mbhc_cb->set_micbias_value)
|
||||
mbhc->mbhc_cb->set_micbias_value(
|
||||
mbhc->codec);
|
||||
mbhc->component);
|
||||
mbhc->micbias_enable = false;
|
||||
}
|
||||
goto exit;
|
||||
@@ -554,10 +554,10 @@ correct_plug_type:
|
||||
if (mbhc->mbhc_cb->mbhc_micb_ctrl_thr_mic &&
|
||||
mbhc->micbias_enable) {
|
||||
mbhc->mbhc_cb->mbhc_micb_ctrl_thr_mic(
|
||||
mbhc->codec, MIC_BIAS_2, false);
|
||||
mbhc->component, MIC_BIAS_2, false);
|
||||
if (mbhc->mbhc_cb->set_micbias_value)
|
||||
mbhc->mbhc_cb->set_micbias_value(
|
||||
mbhc->codec);
|
||||
mbhc->component);
|
||||
mbhc->micbias_enable = false;
|
||||
}
|
||||
goto exit;
|
||||
@@ -566,7 +566,7 @@ correct_plug_type:
|
||||
|
||||
pr_debug("%s: hs_comp_res: %x\n", __func__, hs_comp_res);
|
||||
if (mbhc->mbhc_cb->hph_pa_on_status)
|
||||
is_pa_on = mbhc->mbhc_cb->hph_pa_on_status(codec);
|
||||
is_pa_on = mbhc->mbhc_cb->hph_pa_on_status(component);
|
||||
|
||||
/*
|
||||
* instead of hogging system by contineous polling, wait for
|
||||
@@ -627,7 +627,7 @@ correct_plug_type:
|
||||
* otherwise report unsupported plug
|
||||
*/
|
||||
if (mbhc->mbhc_cfg->swap_gnd_mic &&
|
||||
mbhc->mbhc_cfg->swap_gnd_mic(codec,
|
||||
mbhc->mbhc_cfg->swap_gnd_mic(component,
|
||||
true)) {
|
||||
pr_debug("%s: US_EU gpio present,flip switch\n"
|
||||
, __func__);
|
||||
@@ -733,7 +733,7 @@ enable_supply:
|
||||
exit:
|
||||
if (mbhc->mbhc_cb->mbhc_micbias_control &&
|
||||
!mbhc->micbias_enable)
|
||||
mbhc->mbhc_cb->mbhc_micbias_control(codec, MIC_BIAS_2,
|
||||
mbhc->mbhc_cb->mbhc_micbias_control(component, MIC_BIAS_2,
|
||||
MICB_DISABLE);
|
||||
|
||||
/*
|
||||
@@ -745,14 +745,14 @@ exit:
|
||||
mbhc->micbias_enable) {
|
||||
if (mbhc->mbhc_cb->mbhc_micbias_control)
|
||||
mbhc->mbhc_cb->mbhc_micbias_control(
|
||||
codec, MIC_BIAS_2,
|
||||
component, MIC_BIAS_2,
|
||||
MICB_DISABLE);
|
||||
if (mbhc->mbhc_cb->mbhc_micb_ctrl_thr_mic)
|
||||
mbhc->mbhc_cb->mbhc_micb_ctrl_thr_mic(
|
||||
codec,
|
||||
component,
|
||||
MIC_BIAS_2, false);
|
||||
if (mbhc->mbhc_cb->set_micbias_value) {
|
||||
mbhc->mbhc_cb->set_micbias_value(codec);
|
||||
mbhc->mbhc_cb->set_micbias_value(component);
|
||||
WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_MICB_CTRL, 0);
|
||||
}
|
||||
mbhc->micbias_enable = false;
|
||||
@@ -774,10 +774,10 @@ exit:
|
||||
WCD_MBHC_RSC_UNLOCK(mbhc);
|
||||
}
|
||||
if (mbhc->mbhc_cb->set_cap_mode)
|
||||
mbhc->mbhc_cb->set_cap_mode(codec, micbias1, micbias2);
|
||||
mbhc->mbhc_cb->set_cap_mode(component, micbias1, micbias2);
|
||||
|
||||
if (mbhc->mbhc_cb->hph_pull_down_ctrl)
|
||||
mbhc->mbhc_cb->hph_pull_down_ctrl(codec, true);
|
||||
mbhc->mbhc_cb->hph_pull_down_ctrl(component, true);
|
||||
|
||||
mbhc->mbhc_cb->lock_sleep(mbhc, false);
|
||||
pr_debug("%s: leave\n", __func__);
|
||||
@@ -833,7 +833,8 @@ static irqreturn_t wcd_mbhc_hs_rem_irq(int irq, void *data)
|
||||
if (mbhc->mbhc_cfg->moisture_en) {
|
||||
if (mbhc->mbhc_cb->hph_pa_on_status)
|
||||
if (
|
||||
mbhc->mbhc_cb->hph_pa_on_status(mbhc->codec)) {
|
||||
mbhc->mbhc_cb->hph_pa_on_status(
|
||||
mbhc->component)) {
|
||||
hphpa_on = true;
|
||||
WCD_MBHC_REG_UPDATE_BITS(
|
||||
WCD_MBHC_HPHL_PA_EN, 0);
|
||||
|
Reference in New Issue
Block a user