Re: [PATCH v6 1/2] PM / Domains: Add support for 'required-opps' to set default perf state

From: Ulf Hansson
Date: Wed Aug 11 2021 - 06:52:53 EST


On Wed, 11 Aug 2021 at 12:07, Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote:
>
> On 11-08-21, 15:30, Rajendra Nayak wrote:
> > In my case I don't want to error out if the property is missing, I want to error out
> > only when the property exists but can't be translated into a performance state.
> >
> > So currently I check if the property exists and *only then* try to translate it, Ulf asked
> > me to skip the check. If I do that and I call of_get_required_opp_performance_state()
> > unconditionally, and if it errors out I will need to put in additional logic (check for
> > return value of ENODEV) to distinguish between the property-does-not-exist vs
> > property-exists-but-cannot-be-translated case.
> > It just seems more straight-forward to call this only when the property exists, Ulf?
>
> The same check will be done by OPP core as well, so it is better to
> optimize for the success case here. I will say, don't error out on
> ENODEV, rest you know well.

This should work, while I generally favor not having to parse for
specific return codes.

Another option is to add a new OPP OF helperfunction that just informs
the caller whether the required-opps property exists (instead of
open-coding that part), and if so, the caller can continue with
of_get_required_opp_performance_state() and then expect it to succeed.

I have no strong opinion though! Whatever works for me.

Kind regards
Uffe