[alsa-devel] SoC codec read callback definition

Lopez Cruz, Misael x0052729 at ti.com
Thu Jul 23 09:50:53 CEST 2009

read callback (of snd_soc_codec struct) is defined as a function
that returns unsigned int:

struct snd_soc_codec {
	unsigned int (*read)(struct snd_soc_codec *, unsigned int);
	int (*write)(struct snd_soc_codec *, unsigned int, unsigned int);

However, actual implementation of that callback in many CODEC drivers
may return a negative error value (i.e. when a register is out of cache
reg size). Should the callback definition be changed to return _int_
instead of _unsigned int_? Some drivers (like wm8900, wm9081) handle
invalid registers with BUG_ON, in that case it's not necessary to
return the negative error code.

What should be the best way to handle this? Or is it ok as currently
implemented? Well, it was just a thought.


More information about the Alsa-devel mailing list