Re: [RFC PATCH 4/9] opp: core: Don't warn if required OPP device does not exist

From: Viresh Kumar
Date: Mon Oct 11 2021 - 23:21:57 EST


On 12-10-21, 01:57, Hector Martin wrote:
> When required-opps is used in CPU OPP tables, there is no parent power
> domain to drive it. Squelch this error, to allow a clock driver to
> handle this directly instead.
>
> Signed-off-by: Hector Martin <marcan@xxxxxxxxx>
> ---
> drivers/opp/core.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/opp/core.c b/drivers/opp/core.c
> index 04b4691a8aac..89e616721f70 100644
> --- a/drivers/opp/core.c
> +++ b/drivers/opp/core.c
> @@ -873,12 +873,13 @@ static int _set_required_opp(struct device *dev, struct device *pd_dev,
> return 0;
>
> ret = dev_pm_genpd_set_performance_state(pd_dev, pstate);
> - if (ret) {
> + if (ret && ret != -ENODEV) {
> dev_err(dev, "Failed to set performance rate of %s: %d (%d)\n",
> dev_name(pd_dev), pstate, ret);
> + return ret;
> }
>
> - return ret;
> + return 0;
> }
>
> /* This is only called for PM domain for now */

I am not sure why you need this, since _set_required_opps() has this check:

if (unlikely(!required_opp_tables[0]->is_genpd)) {
dev_err(dev, "required-opps don't belong to a genpd\n");
return -ENOENT;
}

--
viresh