[alsa-devel] [PATCH] ASoC: Writing register default value for the reset register

Dimitris Papastamos dp at opensource.wolfsonmicro.com
Tue Oct 11 14:33:05 CEST 2011


On Tue, Oct 11, 2011 at 05:55:00PM +0800, Axel Lin wrote:
> The WM8983 can be reset by performing a write of any value to
> the software reset register.
> To avoid writing to the software reset register while resume,
> we should write the same value in wm8983_reg_defs to software
> reset register in wm8983_probe().
> The write to the reset register is suppressed by the cache
> restore code when it skips writes of default registers.
> 
> Signed-off-by: Axel Lin <axel.lin at gmail.com>
> ---
>  sound/soc/codecs/wm8983.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/sound/soc/codecs/wm8983.c b/sound/soc/codecs/wm8983.c
> index 17f04ec..93ee284 100644
> --- a/sound/soc/codecs/wm8983.c
> +++ b/sound/soc/codecs/wm8983.c
> @@ -1007,7 +1007,7 @@ static int wm8983_probe(struct snd_soc_codec *codec)
>  		return ret;
>  	}
>  
> -	ret = snd_soc_write(codec, WM8983_SOFTWARE_RESET, 0x8983);
> +	ret = snd_soc_write(codec, WM8983_SOFTWARE_RESET, 0);
>  	if (ret < 0) {
>  		dev_err(codec->dev, "Failed to issue reset: %d\n", ret);
>  		return ret;

We should probably just handle the reset register specially during
resume.

Thanks,
Dimitris


More information about the Alsa-devel mailing list