On Fri, Jan 12, 2018 at 01:07:06PM -0800, Tony Lindgren wrote: > Tturns out just adding back .read = twl4030_read fixes it.. > I added a dummy function for read and am now seeing a bunch > of reads that now don't happen: What's supposed to happen here is that you end up with a component->regmap set and snd_soc_component_read() uses that to do the read. That normally gets retrieved via dev_get_regmap() but it looks like this is broken here by the rather novel chip design confusing the assumptions that code makes. I *think* that setting the regmap to twl_get_regmap(TWL4030_MODULE_AUDIO_VOICE) using snd_soc_codec_init_regmap() in twl4030_soc_probe ought to do the trick (assuming my guesses about what's going on are right) but can't test. I'd check twl6040 too, I bet it's got the same issue.
Attachment:
signature.asc
Description: PGP signature