Re: [PATCH v8 08/10] PM / Domains: Add a simple_opp_to_performance_state() helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 21 Dec 2018 at 09:57, Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> wrote:
>
> Now that we have atleast 2 genpd providers, both using a simple
> routine to read a performance state value from device tree and
> return it, in order to implement the .opp_to_performance_state
> callback, add a simple_opp_to_performance_state() helper to do
> it, so it can be resued across all such genpd providers which
> just need to read the value from DT.
>
> Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxx>
> Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx>
> Reviewed-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
> ---
>  drivers/base/power/domain.c | 17 +++++++++++++++++
>  include/linux/pm_domain.h   |  9 +++++++++
>  2 files changed, 26 insertions(+)
>
> diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
> index 8e554e6a82a2..193872afbe20 100644
> --- a/drivers/base/power/domain.c
> +++ b/drivers/base/power/domain.c
> @@ -2520,6 +2520,23 @@ int of_genpd_parse_idle_states(struct device_node *dn,
>  }
>  EXPORT_SYMBOL_GPL(of_genpd_parse_idle_states);
>
> +unsigned int simple_opp_to_performance_state(struct generic_pm_domain *genpd,
> +                                            struct dev_pm_opp *opp,
> +                                            const char *name)
> +{

Looks like this function should be moved into the OPP library instead.
There is no use of the genpd.

> +       struct device_node *np;
> +       unsigned int perf_state = 0;
> +
> +       np = dev_pm_opp_get_of_node(opp);
> +       if (of_property_read_u32(np, name, &perf_state))
> +               pr_err("%s: missing %s property\n", __func__, name);
> +
> +       of_node_put(np);
> +
> +       return perf_state;
> +}
> +EXPORT_SYMBOL_GPL(simple_opp_to_performance_state);
> +

Kind regards
Uffe



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux