ASoC: Remove volatility from WM8900 POWER1 register

Not all bits can be read back from POWER1 so avoid corruption when using
a read/modify/write cycle by marking it non-volatile - the only thing we
read back from it is the chip revision which has diagnostic value only.
We can re-add later but that's a more invasive change than is suitable
for a bugfix.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: stable@kernel.org
This commit is contained in:
Mark Brown 2010-10-29 15:41:17 -07:00
parent c593b520cf
commit 6d212d8e86

View File

@ -186,7 +186,6 @@ static int wm8900_volatile_register(unsigned int reg)
{
switch (reg) {
case WM8900_REG_ID:
case WM8900_REG_POWER1:
return 1;
default:
return 0;
@ -1200,11 +1199,6 @@ static int wm8900_probe(struct snd_soc_codec *codec)
return -ENODEV;
}
/* Read back from the chip */
reg = snd_soc_read(codec, WM8900_REG_POWER1);
reg = (reg >> 12) & 0xf;
dev_info(codec->dev, "WM8900 revision %d\n", reg);
wm8900_reset(codec);
/* Turn the chip on */