linux/sound/soc
Charles Keepax 5e1367f31d ASoC: wm8962: Update register CLASS_D_CONTROL_1 to be non-volatile
commit 44330ab516 upstream.

The register CLASS_D_CONTROL_1 is marked as volatile because it contains
a bit, DAC_MUTE, which is also mirrored in the ADC_DAC_CONTROL_1
register. This causes problems for the "Speaker Switch" control, which
will report an error if the CODEC is suspended because it relies on a
volatile register.

To resolve this issue mark CLASS_D_CONTROL_1 as non-volatile and
manually keep the register cache in sync by updating both bits when
changing the mute status.

Reported-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-07 10:28:23 -07:00
..
adi
atmel ARM: SoC cleanups for 3.14 2014-01-23 18:36:55 -08:00
au1x
bcm
blackfin ASoC: blackfin: Fix machine driver Kconfig dependencies 2014-02-12 16:16:38 +00:00
cirrus
codecs ASoC: wm8962: Update register CLASS_D_CONTROL_1 to be non-volatile 2014-06-07 10:28:23 -07:00
davinci ASoC: davinci-evm: Add pm callbacks to platform driver 2014-01-31 16:21:24 +00:00
dwc
fsl Merge remote-tracking branches 'asoc/fix/blackfin', 'asoc/fix/da9055', 'asoc/fix/davinci', 'asoc/fix/fsl', 'asoc/fix/fsl-esai', 'asoc/fix/max98090', 'asoc/fix/rt5640', 'asoc/fix/samsung' and 'asoc/fix/txx9aclc-ac97' into asoc-linus 2014-02-19 13:13:52 +09:00
generic
intel
jz4740
kirkwood
mxs
nuc900
omap ASoC: n810: fix init with DT boot 2014-03-04 12:28:58 +08:00
pxa
s6000
samsung ASoC: samsung: Fix trivial typo 2014-01-30 11:42:36 +00:00
sh
spear
tegra ARM: SoC cleanups for 3.14 2014-01-23 18:36:55 -08:00
txx9 ASoC: txx9aclc_ac97: Fix kernel crash on probe 2014-02-16 08:36:40 +08:00
ux500
Kconfig
Makefile
soc-cache.c
soc-compress.c ASoC: compress: Add suport for DPCM into compressed audio 2014-01-17 17:56:21 +00:00
soc-core.c
soc-dapm.c ASoC: dapm: Skip CODEC<->CODEC links in connect_dai_link_widgets() 2014-06-07 10:28:23 -07:00
soc-devres.c
soc-generic-dmaengine-pcm.c
soc-io.c
soc-jack.c
soc-pcm.c ASoC: pcm: Drop incorrect double/extra frees 2014-05-06 07:59:20 -07:00
soc-utils.c