summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2010-04-03 17:37:45 +0200
committerLiam Girdwood <lrg@slimlogic.co.uk>2010-04-19 13:17:10 +0100
commitbe1a50d4eba4cdb3ebf9d97a0a8693c153436775 (patch)
treec4923c176186b9d1a596fd4274d05ddf8a5c2d49
parent13bd8e4673d527a9e48f41956b11d391e7c2cfe0 (diff)
downloadlwn-be1a50d4eba4cdb3ebf9d97a0a8693c153436775.tar.gz
lwn-be1a50d4eba4cdb3ebf9d97a0a8693c153436775.zip
regulator: Let drivers know when they use the stub API
Have the stub variant of regulator_get() return NULL, so that drivers can (but still don't have to) handle this case specifically. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Jerome Oufella <jerome.oufella@savoirfairelinux.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
-rw-r--r--include/linux/regulator/consumer.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/regulator/consumer.h b/include/linux/regulator/consumer.h
index 28c9fd020d39..ebd747265294 100644
--- a/include/linux/regulator/consumer.h
+++ b/include/linux/regulator/consumer.h
@@ -183,9 +183,13 @@ static inline struct regulator *__must_check regulator_get(struct device *dev,
{
/* Nothing except the stubbed out regulator API should be
* looking at the value except to check if it is an error
- * value so the actual return value doesn't matter.
+ * value. Drivers are free to handle NULL specifically by
+ * skipping all regulator API calls, but they don't have to.
+ * Drivers which don't, should make sure they properly handle
+ * corner cases of the API, such as regulator_get_voltage()
+ * returning 0.
*/
- return (struct regulator *)id;
+ return NULL;
}
static inline void regulator_put(struct regulator *regulator)
{