On 03/04/2014 11:11 AM, Mark Brown wrote:
On Tue, Mar 04, 2014 at 10:45:47AM +0100, Lars-Peter Clausen wrote:
Yea, but we are not in a hurry. My plan was to get all the small
YM "yes". :)
independent driver cleanups necessary for componetization merged for 3.15 and then for 3.16 do the componetnization in the ASoC core.
I'm keen to avoid getting lots of people sitting on unmerged patches, it's a risk source due to interaction issues.
So what the patchset does is add a regmap pointer to the component struct. For now it also adds snd_soc_component_{read,write,update_bits, update_bits_async} wrapper functions which have the same signature as the matching regmap function. Internally it does check if the regmap field of the component is set, if yes, just forwards the call to the matching regmap function. If not it falls back to the read, write callbacks setup by CODEC or platform drivers. Once every driver has been converted to regmap we can remove the fallback and make the function static inline.
Yes, that's what I'd expect and roughly what I was suggesting doing anyway inside the existing implementation (ie, not the new function but making the edit inside the existing functions).
I'm not sure I like the _component_ naming since it's getting a bit verbose, but on the other hand it probably should only be the core using this stuff (the drivers ought to be able to find their own regmaps, or at least doing the same lookup) so probably it doesn't matter terribly much.
Yes, it's only used in the core. There is still snd_soc_write(codec) and friends which wraps them like snd_soc_component_write(&codec->component). But on the long run I'd like to see all snd_soc_writes be removed from driver code.
- Lars