Message ID | 1394723659-4995-2-git-send-email-maxime.ripard@free-electrons.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Vinod Koul |
Headers | show |
Quoting Maxime Ripard (2014-03-13 08:14:13) > Callers of clk_put must disable the clock first. This also means that as long > as the clock is enabled the driver should hold a reference to that clock. > Hence, the call to clk_put here are bogus and should be removed. > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Looks good to me. There is a balanced clk_put in the module remove function? Regards, Mike > --- > drivers/clk/sunxi/clk-sunxi.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c > index 23baad9d934a..7119c02c9fa8 100644 > --- a/drivers/clk/sunxi/clk-sunxi.c > +++ b/drivers/clk/sunxi/clk-sunxi.c > @@ -1290,17 +1290,13 @@ static void __init sunxi_clock_protect(void) > > /* memory bus clock - sun5i+ */ > clk = clk_get(NULL, "mbus"); > - if (!IS_ERR(clk)) { > + if (!IS_ERR(clk)) > clk_prepare_enable(clk); > - clk_put(clk); > - } > > /* DDR clock - sun4i+ */ > clk = clk_get(NULL, "pll5_ddr"); > - if (!IS_ERR(clk)) { > + if (!IS_ERR(clk)) > clk_prepare_enable(clk); > - clk_put(clk); > - } > } > > static void __init sunxi_init_clocks(void) > -- > 1.9.0 > -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Mike, On Mon, Mar 24, 2014 at 02:51:20PM -0700, Mike Turquette wrote: > Quoting Maxime Ripard (2014-03-13 08:14:13) > > Callers of clk_put must disable the clock first. This also means that as long > > as the clock is enabled the driver should hold a reference to that clock. > > Hence, the call to clk_put here are bogus and should be removed. > > > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> > > Looks good to me. There is a balanced clk_put in the module remove > function? Actually, this is not part of any module, it's part of the function called through CLK_OF_DECLARE, so there's never a remove function for this code.
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c index 23baad9d934a..7119c02c9fa8 100644 --- a/drivers/clk/sunxi/clk-sunxi.c +++ b/drivers/clk/sunxi/clk-sunxi.c @@ -1290,17 +1290,13 @@ static void __init sunxi_clock_protect(void) /* memory bus clock - sun5i+ */ clk = clk_get(NULL, "mbus"); - if (!IS_ERR(clk)) { + if (!IS_ERR(clk)) clk_prepare_enable(clk); - clk_put(clk); - } /* DDR clock - sun4i+ */ clk = clk_get(NULL, "pll5_ddr"); - if (!IS_ERR(clk)) { + if (!IS_ERR(clk)) clk_prepare_enable(clk); - clk_put(clk); - } } static void __init sunxi_init_clocks(void)
Callers of clk_put must disable the clock first. This also means that as long as the clock is enabled the driver should hold a reference to that clock. Hence, the call to clk_put here are bogus and should be removed. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> --- drivers/clk/sunxi/clk-sunxi.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)