Re: [alsa-devel] [PATCH v3 2/2] ASoC: imx-wm8962: Fix codec_clk cleanup

From: Charles Keepax
Date: Tue Mar 28 2017 - 11:43:27 EST


On Tue, Mar 28, 2017 at 04:24:57PM +0100, Mark Brown wrote:
> On Tue, Mar 28, 2017 at 12:53:06PM +0100, Charles Keepax wrote:
> > On Tue, Mar 28, 2017 at 01:47:04PM +0300, Daniel Baluta wrote:
>
> > > >> - codec_clk = devm_clk_get(&codec_dev->dev, NULL);
> > > >> + codec_clk = clk_get(&codec_dev->dev, NULL);
>
> > > is different from &codec_dev->dev.
>
> > I get that they are different, I just don't get why changing
> > from a devm_clk_get to a clk_get is a better fix than changing
> > &codec->dev to &pdev->dev.
>
> This should be clear from the semantics of clk_get(): you're looking up
> the clock in the context of the supplied device and the clock is
> attached to the CODEC so you need to look up in the CODEC context. What
> would be even better would be to move the allocation of the clock into
> the CODEC driver...

Ah yes thats what I was missing.

Thanks,
Charles