On Wed, Dec 07, 2022 at 01:41:24PM +0100, Emanuele Ghidoli wrote:
I guess what is the "right/better" implementation? Have we to add the set_pll call in simple-card? Or have we to add it to e.g. fsl_sai driver? Or, in some way, the wm8904 codec driver is approaching in the right way?
Is there any documentation that explain all of that (I have already looked at Documentation/sound)? Any driver that is considered well written and complete I should use as a reference?
It's kind of a taste thing. There's some devices where the clocking is sufficently complicated and flexible that definitely needs a set_pll() operation and specific machine driver support, but for simpler devices like the WM8904 where there's an obvious thing to do it's much easier to just hide that from everything outside the driver and only deal with the input clock. I don't know what the clocking for the SAI looks like so it's hard to comment specifically on what makes sense there.