On Thu, Dec 14, 2017 at 09:32:44AM +0000, Charles Keepax wrote:
Not sure what you mean here but setting up CODEC registers directly from the machine driver is probably not ideal. You should probably be looking into regmap_register_patch this lets you apply a bunch of register settings to the chip every time you do a regmap_cache_sync. This is useful for situations like the chip has terrible register defaults you want to correct.
I ended up using your suggestion with regmap_register_patch in v6. I experimented a bit with handling all the interface configurations and it ultimately became too complex since we would need to handle cases where there could be one synchronous interface or two asynchronous interfaces that only have capture or playback. Typically we have only seen uses where there is one synchronous interface where adc and dac run at the same rate and on other parts we have sample rate converters that allow capture and playback to run at different rates. The default value here was infact not very sane since it is the least used, so the patch method was very useful in this case. Thanks for the input.