> Currently the opp_find* functions return -ENODEV when:
> a) it cant find a device (e.g. request for an OPP search on device
>    which was not registered)
> b) When it cant find a match for the search strategy used
> 
> This makes life a little in-efficient for users such as devfreq
> to make reasonable judgement before switching search strategies.
> 
> So, standardize the return results as following:
>  -EINVAL for bad pointer parameters
>  -ENODEV when device cannot be found
>  -ERANGE when search fails
> 
> This has the following benefit for devfreq implementation:
> 
> Current code:
> opp = opp_find_freq_floor(dev, freq);
> /* Following search triggers even for un-registered device */
> if (opp == ERR_PTR(-ENODEV))
>       opp = opp_find_freq_ceil(dev, freq);
> 
> Vs (after this change):
> opp = opp_find_freq_floor(dev, freq);
> /* Will only be triggered if search logic fails: intended usage */
> if (opp == ERR_PTR(-ERANGE))
>       opp = opp_find_freq_ceil(dev, freq);
> 
> Cc: MyungJoo Ham <myungjoo....@samsung.com>
> Cc: Kyungmin Park <kyungmin.p...@samsung.com>
> Cc: "Rafael J. Wysocki" <r...@sisk.pl>
> Cc: Kevin Hilman <khil...@ti.com>
> Cc: linux...@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> 
> Signed-off-by: Nishanth Menon <n...@ti.com>

Thanks.


Acked-by: MyungJoo Ham <myungjoo....@samsung.com>


> 

Reply via email to