Re: [RFC PATCH] ASoC: wm8731: let codec to manage clock by itself

From: Mark Brown
Date: Tue Feb 03 2015 - 11:22:56 EST


On Tue, Feb 03, 2015 at 03:40:45PM +0100, Manuel Lauss wrote:
> On Tue, Feb 3, 2015 at 1:44 PM, Mark Brown <broonie@xxxxxxxxxx> wrote:

> >> + wm8731->mclk = devm_clk_get(&spi->dev, "mclk");
> >> + if (IS_ERR(wm8731->mclk)) {
> >> + wm8731->mclk = NULL;
> >> + dev_warn(&spi->dev, "assuming static MCLK\n");
> >> + }

> > This is broken for both deferred probe and in the case where the clock
> > API genuinely returns a NULL clock. Other than that it's the kind of
> > thing that we've done for some other drivers, though it's not good to
> > have to do this. Check them for correct behaviour.

> Hm, so the only option is to create the simples possible 12MHz clk object?

Well, that's the best option in general. You can get away with just
making sure that -EPROBE_DEFER is handled and that IS_ERR() is used to
check for an invalid clock but if you can define a clock that's even
better (and should be pretty painless), we're going to want to do that
transition at some point.

Attachment: signature.asc
Description: Digital signature