[PATCH] clk: Deprecate CLK_IS_ROOT

Michael Turquette mturquette at baylibre.com
Wed Feb 3 21:48:03 PST 2016


Quoting Stephen Boyd (2016-02-02 17:42:13)
> We don't use CLK_IS_ROOT but in a few places in the common clk
> framework core. Let's replace those checks with a check for the
> number of parents a clk has instead of the flag, freeing up one
> flag for something else. We don't remove the flag yet so that
> things keep building, but we'll remove it once all drivers have
> removed their flag usage.
> 
> Signed-off-by: Stephen Boyd <sboyd at codeaurora.org>

Looks good to me.

Regards,
Mike

> ---
> 
> A bunch of patches to remove CLK_IS_ROOT are coming...
> 
>  drivers/clk/clk.c            | 6 +++---
>  include/linux/clk-provider.h | 2 +-
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
> index bb01ed6cc63e..cd8382c83f48 100644
> --- a/drivers/clk/clk.c
> +++ b/drivers/clk/clk.c
> @@ -385,7 +385,7 @@ static unsigned long clk_core_get_rate_nolock(struct clk_core *core)
>  
>         ret = core->rate;
>  
> -       if (core->flags & CLK_IS_ROOT)
> +       if (!core->num_parents)
>                 goto out;
>  
>         if (!core->parent)
> @@ -2351,7 +2351,7 @@ static int __clk_core_init(struct clk_core *core)
>         /*
>          * Populate core->parent if parent has already been __clk_init'd.  If
>          * parent has not yet been __clk_init'd then place clk in the orphan
> -        * list.  If clk has set the CLK_IS_ROOT flag then place it in the root
> +        * list.  If clk doesn't have any parents then place it in the root
>          * clk list.
>          *
>          * Every time a new clk is clk_init'd then we walk the list of orphan
> @@ -2362,7 +2362,7 @@ static int __clk_core_init(struct clk_core *core)
>                 hlist_add_head(&core->child_node,
>                                 &core->parent->children);
>                 core->orphan = core->parent->orphan;
> -       } else if (core->flags & CLK_IS_ROOT) {
> +       } else if (!core->num_parents) {
>                 hlist_add_head(&core->child_node, &clk_root_list);
>                 core->orphan = false;
>         } else {
> diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
> index fabe5bedbba6..9c3a18c1a984 100644
> --- a/include/linux/clk-provider.h
> +++ b/include/linux/clk-provider.h
> @@ -25,7 +25,7 @@
>  #define CLK_SET_PARENT_GATE    BIT(1) /* must be gated across re-parent */
>  #define CLK_SET_RATE_PARENT    BIT(2) /* propagate rate change up one level */
>  #define CLK_IGNORE_UNUSED      BIT(3) /* do not gate even if unused */
> -#define CLK_IS_ROOT            BIT(4) /* root clk, has no parent */
> +#define CLK_IS_ROOT            BIT(4) /* Deprecated: Don't use */
>  #define CLK_IS_BASIC           BIT(5) /* Basic clk, can't do a to_clk_foo() */
>  #define CLK_GET_RATE_NOCACHE   BIT(6) /* do not use the cached clk rate */
>  #define CLK_SET_RATE_NO_REPARENT BIT(7) /* don't re-parent on rate change */
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project
> 



More information about the linux-arm-kernel mailing list