]> git.karo-electronics.de Git - karo-tx-linux.git/commit
PM / OPP: predictable fail results for opp_find* functions, v2
authorNishanth Menon <nm@ti.com>
Wed, 24 Oct 2012 20:00:12 +0000 (22:00 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 24 Oct 2012 20:00:12 +0000 (22:00 +0200)
commit1473e5292f887b1ab4679b19b657cb261ac92c38
tree496365a2fe07d0a62eed68131e764ab360ed7f33
parentba28b011bbeea879cad8de9dabb7ec9a54f64f99
PM / OPP: predictable fail results for opp_find* functions, v2

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: Nishanth Menon <nm@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/power/opp.c
drivers/devfreq/devfreq.c