Re: [alsa-devel] [RFC PATCH] mfd: arizona: Add gating of external MCLKn clocks

From: Mark Brown
Date: Mon Aug 22 2016 - 13:41:24 EST


On Mon, Aug 22, 2016 at 07:22:47PM +0200, Sylwester Nawrocki wrote:

> I got suggestion from Mark not to request the main MCLK clock
> in the machine driver. But even if gating of that clock was
> added to the CODEC driver I would need to get hold of it in
> the machine driver to get rate of MCLK. So I thought about
> exporting a helper from the MFD for requesting MCLK clock or
> specifying MCLK clock back in the sound DT node.

No, the immediate suggestion is more about the requesting bit than the
management bit - once the DT is there it's set in stone.

> 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 on CODEC
> of_node (it can be a child of I2S or SPI bus).

We could add an interface for the machine driver to retrieve a clock
from the CODEC as a transition measure...

> Then how about specifying MCLK in the sound node and using
> regular devm_clk_get()?

This is what we're trying to avoid?

Attachment: signature.asc
Description: PGP signature