31 May
2016
31 May
'16
12:35 p.m.
Mark,
On 05/31/16 13:14, Peter Ujfalusi wrote:
Add the suspend callback to accompany the existing resume operation. With the suspend/resume callbacks the regmap (regcache) state handling can follow the recommended sequence.
Please ignore this patch. I have sent v2 which will take the suspend callback into use.
--
Péter
>
> Signed-off-by: Peter Ujfalusi peter.ujfalusi@ti.com
> ---
> sound/soc/codecs/ak4642.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/sound/soc/codecs/ak4642.c b/sound/soc/codecs/ak4642.c
> index 4d8b9e49e8d6..ca9e82568b3c 100644
> --- a/sound/soc/codecs/ak4642.c
> +++ b/sound/soc/codecs/ak4642.c
> @@ -523,15 +523,23 @@ static struct snd_soc_dai_driver ak4642_dai = {
> .symmetric_rates = 1,
> };
>
> -static int ak4642_resume(struct snd_soc_codec *codec)
> +static int ak4642_suspend(struct snd_soc_codec *codec)
> {
> struct regmap *regmap = dev_get_regmap(codec->dev, NULL);
>
> + regcache_cache_only(regmap, true);
> regcache_mark_dirty(regmap);
> - regcache_sync(regmap);
> return 0;
> }
>
> +static int ak4642_resume(struct snd_soc_codec *codec)
> +{
> + struct regmap *regmap = dev_get_regmap(codec->dev, NULL);
> +
> + regcache_cache_only(regmap, false);
> + regcache_sync(regmap);
> + return 0;
> +}
> static int ak4642_probe(struct snd_soc_codec *codec)
> {
> struct ak4642_priv *priv = snd_soc_codec_get_drvdata(codec);
>