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.
-Misa