[alsa-devel] [PATCH] ALSA: ASoC: cs4720: use snd_soc_cache_sync()
Mark Brown
broonie at opensource.wolfsonmicro.com
Tue Nov 22 15:02:10 CET 2011
On Tue, Nov 22, 2011 at 02:45:16PM +0100, Daniel Mack wrote:
> Replace the manual register restore mechanism in cs4270.c and call
> snd_soc_cache_sync() instead. The current is also wrong, as it doesn't
> update the internal cache, leading to cache inconsitency after suspend.
I don't understand why this is a bug fix - the code is writing the
values from the internal cache to the hardware and what's there doesn't
look obviously wrong...
> /* first restore the entire register cache ... */
> - for (reg = CS4270_FIRSTREG; reg <= CS4270_LASTREG; reg++) {
> - u8 val = snd_soc_read(codec, reg);
> -
This reads from the cache.
> - if (i2c_smbus_write_byte_data(i2c_client, reg, val)) {
> - dev_err(codec->dev, "i2c write failed\n");
> - return -EIO;
> - }
This writes the cached value to the hardware.
More information about the Alsa-devel
mailing list