diff options
author | Chunyan Zhang <zhang.chunyan@linaro.org> | 2018-01-26 21:08:44 +0800 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-01-26 14:43:45 +0000 |
commit | c360a6df02cdba47c0590ffc7d15ec6687183e8c (patch) | |
tree | fcf591be1d9ec3afd439e8e7d397309649cbf6f6 /drivers/regulator/internal.h | |
parent | 057c76440c791eb31eb68f3b003f67d00fcce51a (diff) | |
download | talos-obmc-linux-c360a6df02cdba47c0590ffc7d15ec6687183e8c.tar.gz talos-obmc-linux-c360a6df02cdba47c0590ffc7d15ec6687183e8c.zip |
regulator: make regulator voltage be an array to support more states
Some regulator consumers would like to make the regulator device
keeping a voltage range output when the system entering into
suspend states.
Making regulator voltage be an array can allow consumers to set voltage
for normal state as well as for suspend states through the same code.
Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/regulator/internal.h')
-rw-r--r-- | drivers/regulator/internal.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/regulator/internal.h b/drivers/regulator/internal.h index 66a8ea0c8386..aba8e4149838 100644 --- a/drivers/regulator/internal.h +++ b/drivers/regulator/internal.h @@ -16,10 +16,25 @@ #ifndef __REGULATOR_INTERNAL_H #define __REGULATOR_INTERNAL_H +#include <linux/suspend.h> + +#define REGULATOR_STATES_NUM (PM_SUSPEND_MAX + 1) + +struct regulator_voltage { + int min_uV; + int max_uV; +}; + /* * struct regulator * * One for each consumer device. + * @voltage - a voltage array for each state of runtime, i.e.: + * PM_SUSPEND_ON + * PM_SUSPEND_TO_IDLE + * PM_SUSPEND_STANDBY + * PM_SUSPEND_MEM + * PM_SUSPEND_MAX */ struct regulator { struct device *dev; @@ -27,8 +42,7 @@ struct regulator { unsigned int always_on:1; unsigned int bypass:1; int uA_load; - int min_uV; - int max_uV; + struct regulator_voltage voltage[REGULATOR_STATES_NUM]; const char *supply_name; struct device_attribute dev_attr; struct regulator_dev *rdev; |