ASoC: adau1701: more direct regmap usage
Subsystems (3)
PATCH 1/2 ASoC: adau1701: more direct regmap usage
Replace calls to snd_soc_update_bits() with regmap_update_bits().
Signed-off-by Daniel Mack <[email protected]>
--- sound/soc/codecs/adau1701.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-)
sound/soc/codecs/adau1701.c +12 -7
@@ -334,7 +334,7 @@ static int adau1701_set_capture_pcm_format(struct snd_soc_codec *codec, mask |=ADAU1701_SEROCTL_MSB_DEALY_MASK ; } -snd_soc_update_bits (codec,ADAU1701_SEROCTL , mask, val); +regmap_update_bits (adau1701->regmap,ADAU1701_SEROCTL , mask, val);return 0 ; }
@@ -362,7 +362,7 @@ static int adau1701_set_playback_pcm_format(struct snd_soc_codec *codec,return -EINVAL ; } -snd_soc_update_bits (codec,ADAU1701_SERICTL , +regmap_update_bits (adau1701->regmap,ADAU1701_SERICTL ,ADAU1701_SERICTL_MODE_MASK , val);return 0 ;
@@ -403,7 +403,7 @@ static int adau1701_hw_params(struct snd_pcm_substream *substream,return -EINVAL ; } -snd_soc_update_bits (codec,ADAU1701_DSPCTRL , +regmap_update_bits (adau1701->regmap,ADAU1701_DSPCTRL ,ADAU1701_DSPCTRL_SR_MASK , val); format =params_format (params);
@@ -489,6 +489,7 @@ static int adau1701_set_bias_level(struct snd_soc_codec *codec, enum snd_soc_bias_level level) {unsigned int mask =ADAU1701_AUXNPOW_VBPD |ADAU1701_AUXNPOW_VRPD ; +struct adau1701 *adau1701 =snd_soc_codec_get_drvdata (codec);switch (level) {case SND_SOC_BIAS_ON :
@@ -497,11 +498,13 @@ static int adau1701_set_bias_level(struct snd_soc_codec *codec,break ;case SND_SOC_BIAS_STANDBY :/* Enable VREF and VREF buffer */ -snd_soc_update_bits (codec,ADAU1701_AUXNPOW , mask,0x00 ); +regmap_update_bits (adau1701->regmap, +ADAU1701_AUXNPOW , mask,0x00 );break ;case SND_SOC_BIAS_OFF :/* Disable VREF and VREF buffer */ -snd_soc_update_bits (codec,ADAU1701_AUXNPOW , mask, mask); +regmap_update_bits (adau1701->regmap, +ADAU1701_AUXNPOW , mask, mask);break ; }
@@ -513,6 +516,7 @@ static int adau1701_digital_mute(struct snd_soc_dai *dai, int mute) {struct snd_soc_codec *codec = dai->codec;unsigned int mask =ADAU1701_DSPCTRL_DAM ; +struct adau1701 *adau1701 =snd_soc_codec_get_drvdata (codec);unsigned int val;if (mute)
@@ -520,7 +524,7 @@ static int adau1701_digital_mute(struct snd_soc_dai *dai, int mute)else val = mask; -snd_soc_update_bits (codec,ADAU1701_DSPCTRL , mask, val); +regmap_update_bits (adau1701->regmap,ADAU1701_DSPCTRL , mask, val);return 0 ; }
@@ -542,7 +546,8 @@ static int adau1701_set_sysclk(struct snd_soc_codec *codec, int clk_id,return -EINVAL ; } -snd_soc_update_bits (codec,ADAU1701_OSCIPOW ,ADAU1701_OSCIPOW_OPD , val); +regmap_update_bits (adau1701->regmap,ADAU1701_OSCIPOW , +ADAU1701_OSCIPOW_OPD , val); adau1701->sysclk = freq;return 0 ;
Signature · 1 line
1.8.1.4
PATCH 2/2 ASoC: adau1701: remove control_data assignment
codec->control_data has to be left unset to make the ASoC core access the regmap properly.
That bug slipped in during a rebase session of the driver refactoring.
Signed-off-by Daniel Mack <[email protected]>
--- sound/soc/codecs/adau1701.c | 2 -- 1 file changed, 2 deletions(-)
sound/soc/codecs/adau1701.c +0 -2
@@ -599,8 +599,6 @@ static int adau1701_probe(struct snd_soc_codec *codec)unsigned int val;struct adau1701 *adau1701 =snd_soc_codec_get_drvdata (codec); - codec->control_data =to_i2c_client (codec->dev); -/* * Let the pll_clkdiv variable default to something that won't happen * at runtime. That way, we can postpone the firmware download from
Signature · 1 line
1.8.1.4
Quoted 3 lines · Daniel Mack
Replace calls to
snd_soc_update_bits()withregmap_update_bits().Signed-off-by Daniel Mack <[email protected]>
Thanks.
Re: [PATCH 2/2] ASoC: adau1701: remove control_data assignment
In reply to Daniel MackQuoted 6 lines · Daniel Mack
codec->control_datahas to be left unset to make the ASoC core access the regmap properly.That bug slipped in during a rebase session of the driver refactoring.
Signed-off-by Daniel Mack <[email protected]>
Thanks.
Quoted 1 line · Daniel Mack
Replace calls to
snd_soc_update_bits()withregmap_update_bits().
Applied both, thanks.