aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/regulator
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2009-10-22 16:31:33 +0100
committerLiam Girdwood <lrg@slimlogic.co.uk>2009-12-17 10:27:25 +0000
commit638f85c54f4fed0f8f1fbc23745a8f334112e892 (patch)
tree6d54bc8861cba1f74213e52df74815cf72246897 /include/linux/regulator
parent1083c39346d482b9001944d05c09191027892226 (diff)
downloadkernel_samsung_smdk4412-638f85c54f4fed0f8f1fbc23745a8f334112e892.zip
kernel_samsung_smdk4412-638f85c54f4fed0f8f1fbc23745a8f334112e892.tar.gz
kernel_samsung_smdk4412-638f85c54f4fed0f8f1fbc23745a8f334112e892.tar.bz2
regulator: Handle regulators without suspend mode configuration
Since some regulators in the system may not support suspend mode configuration we need to allow some regulators to have a missing suspend mode configuration. Do this by requiring that disabled regulators are explicitly flagged and then skip over regulators that have no state specified. Try to avoid surprises by warning the if we could set the state but no configuration is provided. This also ensures that an all zeros configuration generates a warning rather than silently disabling the regulator. Reported-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'include/linux/regulator')
-rw-r--r--include/linux/regulator/machine.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/regulator/machine.h b/include/linux/regulator/machine.h
index 87f5f17..234a847 100644
--- a/include/linux/regulator/machine.h
+++ b/include/linux/regulator/machine.h
@@ -43,16 +43,20 @@ struct regulator;
/**
* struct regulator_state - regulator state during low power system states
*
- * This describes a regulators state during a system wide low power state.
+ * This describes a regulators state during a system wide low power
+ * state. One of enabled or disabled must be set for the
+ * configuration to be applied.
*
* @uV: Operating voltage during suspend.
* @mode: Operating mode during suspend.
* @enabled: Enabled during suspend.
+ * @disabled: Disabled during suspend.
*/
struct regulator_state {
int uV; /* suspend voltage */
unsigned int mode; /* suspend regulator operating mode */
int enabled; /* is regulator enabled in this suspend state */
+ int disabled; /* is the regulator disbled in this suspend state */
};
/**