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