On 08/22/2016 07:41 PM, Mark Brown wrote: > On Mon, Aug 22, 2016 at 07:22:47PM +0200, Sylwester Nawrocki wrote: > >> If we provided an interface like: > >> struct clk * arizona_get_mclk(struct arizona *arizona, int id); >> void arizona_put_mclk(struct clk *clk); > >> the machine driver would need to get hold of struct arizona*, >> which is not that straightforward if we are given only CODEC >> of_node (it can be a child of I2C or SPI bus). > > We could add an interface for the machine driver to retrieve a clock > from the CODEC as a transition measure... That works for me. Is the long term plan to control the CODEC's clocks through the common clock API in machine drivers and phase out calls like snd_soc_codec_set_pll(), snd_soc_codec_set_sysclk()? >> Then how about specifying MCLK in the sound node and using >> regular devm_clk_get()? > > This is what we're trying to avoid? Indeed, sorry, I just started getting confused of what are acceptable tradeoffs here. _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel