diff options
Diffstat (limited to 'sound/soc/codecs/wm_hubs.c')
| -rw-r--r-- | sound/soc/codecs/wm_hubs.c | 18 | 
1 files changed, 11 insertions, 7 deletions
diff --git a/sound/soc/codecs/wm_hubs.c b/sound/soc/codecs/wm_hubs.c index e1f225a3ac46..16f1a57da08a 100644 --- a/sound/soc/codecs/wm_hubs.c +++ b/sound/soc/codecs/wm_hubs.c @@ -91,7 +91,7 @@ static void wait_for_dc_servo(struct snd_soc_codec *codec, unsigned int op)   */  static void calibrate_dc_servo(struct snd_soc_codec *codec)  { -	struct wm_hubs_data *hubs = codec->private_data; +	struct wm_hubs_data *hubs = snd_soc_codec_get_drvdata(codec);  	u16 reg, reg_l, reg_r, dcs_cfg;  	/* Set for 32 series updates */ @@ -127,6 +127,8 @@ static void calibrate_dc_servo(struct snd_soc_codec *codec)  			break;  		} +		dev_dbg(codec->dev, "DCS input: %x %x\n", reg_l, reg_r); +  		/* HPOUT1L */  		if (reg_l + hubs->dcs_codes > 0 &&  		    reg_l + hubs->dcs_codes < 0xff) @@ -139,6 +141,8 @@ static void calibrate_dc_servo(struct snd_soc_codec *codec)  			reg_r += hubs->dcs_codes;  		dcs_cfg |= reg_r; +		dev_dbg(codec->dev, "DCS result: %x\n", dcs_cfg); +  		/* Do it */  		snd_soc_write(codec, WM8993_DC_SERVO_3, dcs_cfg);  		wait_for_dc_servo(codec, @@ -154,7 +158,7 @@ static int wm8993_put_dc_servo(struct snd_kcontrol *kcontrol,  			       struct snd_ctl_elem_value *ucontrol)  {  	struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); -	struct wm_hubs_data *hubs = codec->private_data; +	struct wm_hubs_data *hubs = snd_soc_codec_get_drvdata(codec);  	int ret;  	ret = snd_soc_put_volsw_2r(kcontrol, ucontrol); @@ -327,7 +331,7 @@ static int hp_supply_event(struct snd_soc_dapm_widget *w,  			   struct snd_kcontrol *kcontrol, int event)  {  	struct snd_soc_codec *codec = w->codec; -	struct wm_hubs_data *hubs = codec->private_data; +	struct wm_hubs_data *hubs = snd_soc_codec_get_drvdata(codec);  	switch (event) {  	case SND_SOC_DAPM_PRE_PMU: @@ -397,14 +401,14 @@ static int hp_event(struct snd_soc_dapm_widget *w,  	case SND_SOC_DAPM_PRE_PMD:  		snd_soc_update_bits(codec, WM8993_ANALOGUE_HP_0, -				    WM8993_HPOUT1L_DLY | -				    WM8993_HPOUT1R_DLY | +				    WM8993_HPOUT1L_OUTP | +				    WM8993_HPOUT1R_OUTP |  				    WM8993_HPOUT1L_RMV_SHORT |  				    WM8993_HPOUT1R_RMV_SHORT, 0);  		snd_soc_update_bits(codec, WM8993_ANALOGUE_HP_0, -				    WM8993_HPOUT1L_OUTP | -				    WM8993_HPOUT1R_OUTP, 0); +				    WM8993_HPOUT1L_DLY | +				    WM8993_HPOUT1R_DLY, 0);  		snd_soc_update_bits(codec, WM8993_POWER_MANAGEMENT_1,  				    WM8993_HPOUT1L_ENA | WM8993_HPOUT1R_ENA,  | 
