PM / OPP: Separate out _generic_set_opp()
Later patches would add support for custom set_opp() callbacks. This patch separates out the code for _generic_set_opp() handler in order to prepare for that. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Tested-by: Dave Gerlach <d-gerlach@ti.com> Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:

committed by
Rafael J. Wysocki

parent
dfbe4678d7
commit
947355850f
@@ -17,6 +17,8 @@
|
||||
#include <linux/err.h>
|
||||
#include <linux/notifier.h>
|
||||
|
||||
struct clk;
|
||||
struct regulator;
|
||||
struct dev_pm_opp;
|
||||
struct device;
|
||||
struct opp_table;
|
||||
@@ -41,6 +43,39 @@ struct dev_pm_opp_supply {
|
||||
unsigned long u_amp;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct dev_pm_opp_info - OPP freq/voltage/current values
|
||||
* @rate: Target clk rate in hz
|
||||
* @supplies: Array of voltage/current values for all power supplies
|
||||
*
|
||||
* This structure stores the freq/voltage/current values for a single OPP.
|
||||
*/
|
||||
struct dev_pm_opp_info {
|
||||
unsigned long rate;
|
||||
struct dev_pm_opp_supply *supplies;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct dev_pm_set_opp_data - Set OPP data
|
||||
* @old_opp: Old OPP info
|
||||
* @new_opp: New OPP info
|
||||
* @regulators: Array of regulator pointers
|
||||
* @regulator_count: Number of regulators
|
||||
* @clk: Pointer to clk
|
||||
* @dev: Pointer to the struct device
|
||||
*
|
||||
* This structure contains all information required for setting an OPP.
|
||||
*/
|
||||
struct dev_pm_set_opp_data {
|
||||
struct dev_pm_opp_info old_opp;
|
||||
struct dev_pm_opp_info new_opp;
|
||||
|
||||
struct regulator **regulators;
|
||||
unsigned int regulator_count;
|
||||
struct clk *clk;
|
||||
struct device *dev;
|
||||
};
|
||||
|
||||
#if defined(CONFIG_PM_OPP)
|
||||
|
||||
unsigned long dev_pm_opp_get_voltage(struct dev_pm_opp *opp);
|
||||
|
Reference in New Issue
Block a user