On 11-08-21, 12:52, Ulf Hansson wrote: > 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. I would like to work with the existing set of APIs, as the OPP core is going to do that check anyways, again. -- viresh