[alsa-devel] Question about snd_soc_8_8_write

Mark Brown broonie at opensource.wolfsonmicro.com
Mon Dec 14 12:36:24 CET 2009

On Mon, Dec 14, 2009 at 01:30:06PM +0900, Kuninori Morimoto wrote:

> I wounder this behavior.

> if reg >= codec->reg_cache_size,
> this functions will call hw_write
> though cache[xx] ignore it.

That's there because there were a few devices which chose to cache only
a subset of their registers.  Usually this is because there are some
extra partially documented registers at the end of the map and a lack of
documented default values makes using the cache tricky.

> even though if reg < codec->reg_cache_size,
> if hw_write return error, cache[xx] value was still changed.

> This is correct behavior ?
> Or are there any reason ?

The error handling for failed writes isn't massively good.  It's not
always entirely clear if the best thing to do is to cache the result and
hope that things work next time; for the most part if I/O starts failing
the problem is usually

More information about the Alsa-devel mailing list