Re: [PATCH RFC v1 3/5] clk: remove unneeded __clk_enable and __clk_disable

From: Dong Aisheng
Date: Mon May 04 2015 - 04:28:32 EST


On Thu, Apr 30, 2015 at 03:05:48PM -0700, Stephen Boyd wrote:
> On 04/30, Stephen Boyd wrote:
> > On 04/15/15 07:26, Dong Aisheng wrote:
> > > The only thing __clk_enable/__clk_disable does is NULL pointer checking
> > > of clk except calling clk_core_{enable|disable} which is already handled
> > > by clk_core_{enable|disable}.
> > > So remove this unneeded function.
> > >
> > > Cc: Mike Turquette <mturquette@xxxxxxxxxx>
> > > Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
> > > Signed-off-by: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx>
> > > ---
> >
> > No. You can call clk_enable() and clk_disable() with NULL and it should
> > be a no-op. With this change it would cause a NULL pointer exception.
> >
>
> Here's the proper patch. I'll leave you as author.
>

Got your point.
Thanks for the change.

Regards
Dong Aisheng

> ---8<---
> diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
> index 0227ac3d5b1a..e45255226ffa 100644
> --- a/drivers/clk/clk.c
> +++ b/drivers/clk/clk.c
> @@ -1023,14 +1023,6 @@ static void clk_core_disable(struct clk_core *core)
> clk_core_disable(core->parent);
> }
>
> -static void __clk_disable(struct clk *clk)
> -{
> - if (!clk)
> - return;
> -
> - clk_core_disable(clk->core);
> -}
> -
> /**
> * clk_disable - gate a clock
> * @clk: the clk being gated
> @@ -1051,7 +1043,7 @@ void clk_disable(struct clk *clk)
> return;
>
> flags = clk_enable_lock();
> - __clk_disable(clk);
> + clk_core_disable(clk->core);
> clk_enable_unlock(flags);
> }
> EXPORT_SYMBOL_GPL(clk_disable);
> @@ -1089,14 +1081,6 @@ static int clk_core_enable(struct clk_core *core)
> return 0;
> }
>
> -static int __clk_enable(struct clk *clk)
> -{
> - if (!clk)
> - return 0;
> -
> - return clk_core_enable(clk->core);
> -}
> -
> /**
> * clk_enable - ungate a clock
> * @clk: the clk being ungated
> @@ -1115,8 +1099,11 @@ int clk_enable(struct clk *clk)
> unsigned long flags;
> int ret;
>
> + if (!clk)
> + return 0;
> +
> flags = clk_enable_lock();
> - ret = __clk_enable(clk);
> + ret = clk_core_enable(clk->core);
> clk_enable_unlock(flags);
>
> return ret;
>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> a Linux Foundation Collaborative Project
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/