ASoC: wm8994: Unsuspend the device while reading GPIO statuses
Otherwise we might get an error if the GPIO is configured as an input since that makes the register volatile and a suspended device can't be read from. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
5fab517476
commit
27060b3c64
|
@ -3539,6 +3539,9 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
|
||||||
wm8994->fll_locked_irq = false;
|
wm8994->fll_locked_irq = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Make sure we can read from the GPIOs if they're inputs */
|
||||||
|
pm_runtime_get_sync(codec->dev);
|
||||||
|
|
||||||
/* Remember if AIFnLRCLK is configured as a GPIO. This should be
|
/* Remember if AIFnLRCLK is configured as a GPIO. This should be
|
||||||
* configured on init - if a system wants to do this dynamically
|
* configured on init - if a system wants to do this dynamically
|
||||||
* at runtime we can deal with that then.
|
* at runtime we can deal with that then.
|
||||||
|
@ -3567,6 +3570,8 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
|
||||||
wm8994->lrclk_shared[1] = 0;
|
wm8994->lrclk_shared[1] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pm_runtime_put(codec->dev);
|
||||||
|
|
||||||
/* Latch volume updates (right only; we always do left then right). */
|
/* Latch volume updates (right only; we always do left then right). */
|
||||||
snd_soc_update_bits(codec, WM8994_AIF1_DAC1_LEFT_VOLUME,
|
snd_soc_update_bits(codec, WM8994_AIF1_DAC1_LEFT_VOLUME,
|
||||||
WM8994_AIF1DAC1_VU, WM8994_AIF1DAC1_VU);
|
WM8994_AIF1DAC1_VU, WM8994_AIF1DAC1_VU);
|
||||||
|
|
Loading…
Reference in New Issue