• N
    PM / OPP: predictable fail results for opp_find* functions, v2 · 0779726c
    Nishanth Menon 提交于
    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:
    The search fails when an unregistered device pointer is provided.
    This is a trigger to change the search direction and search for
    a better fit, however, if we cannot differentiate between a valid
    search range failure Vs an unregistered device, second search goes
    through the same fail return condition. This can be avoided by
    appropriate handling of error return code.
    
    With this change, we also fix devfreq for the improved search
    strategy with updated error code.
    Signed-off-by: NNishanth Menon <nm@ti.com>
    Reviewed-by: NKevin Hilman <khilman@ti.com>
    Acked-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
    Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
    0779726c
opp.c 22.3 KB