Re: [PATCH 1/2] clk: of: helper for determining flags properties

From: Mark Rutland
Date: Tue May 13 2014 - 08:21:07 EST


On Tue, May 13, 2014 at 12:57:32PM +0100, Gabriel FERNANDEZ wrote:
> The patch provides a helper to get flags properties of
> a clock node.
>
> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx>
> ---
> drivers/clk/clk.c | 11 +++++++++++
> include/linux/clk-provider.h | 6 ++++++
> 2 files changed, 17 insertions(+)
>
> diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
> index 4d56220..cae8985 100644
> --- a/drivers/clk/clk.c
> +++ b/drivers/clk/clk.c
> @@ -2528,6 +2528,17 @@ const char *of_clk_get_parent_name(struct device_node *np, int index)
> }
> EXPORT_SYMBOL_GPL(of_clk_get_parent_name);
>
> +unsigned long of_clk_get_flags(struct device_node *np)
> +{
> + unsigned long flags = 0;
> +
> + if (of_property_read_bool(np, "set-rate-parent"))
> + flags |= CLK_SET_RATE_PARENT;

NAK.

This is _not_ a hardware property. This flag describes internals of the
Linux clock framework, and is thus not suitable for DT.

You've also failed to document the property.

What are you trying to achieve here, and why do you think this is the
best way of achieving that?

Cheers,
Mark.

> +
> + return flags;
> +}
> +EXPORT_SYMBOL_GPL(of_clk_get_flags);
> +
> struct clock_provider {
> of_clk_init_cb_t clk_init_cb;
> struct device_node *np;
> diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
> index 59e2eb5..650bc10 100644
> --- a/include/linux/clk-provider.h
> +++ b/include/linux/clk-provider.h
> @@ -519,6 +519,7 @@ int of_clk_get_parent_count(struct device_node *np);
> const char *of_clk_get_parent_name(struct device_node *np, int index);
>
> void of_clk_init(const struct of_device_id *matches);
> +unsigned long of_clk_get_flags(struct device_node *np);
>
> #else /* !CONFIG_OF */
>
> @@ -546,6 +547,11 @@ static inline const char *of_clk_get_parent_name(struct device_node *np,
> {
> return NULL;
> }
> +static inline unsigned long of_clk_get_flags(struct device_node *np)
> +{
> + return NULL;
> +}
> +
> #define of_clk_init(matches) \
> { while (0); }
> #endif /* CONFIG_OF */
> --
> 1.9.1
>
>
--
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/