summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>2014-06-19 17:04:23 +0200
committerLee Jones <lee.jones@linaro.org>2014-07-09 15:58:09 +0200
commit0c2d0ffbb8e485b632871e0cb5e67f04ac4fb559 (patch)
treef7bfe5cf41fe75cc821cfe2928817d73aec98248
parentDocumentation: devicetree: Fix s2mps11 and s5m8767 typos (diff)
downloadlinux-0c2d0ffbb8e485b632871e0cb5e67f04ac4fb559.tar.xz
linux-0c2d0ffbb8e485b632871e0cb5e67f04ac4fb559.zip
mfd: arizona: Add comment to explain non-devm regulator_get
To avoid someone attempting to change this regulator_get back into a devm_regulator_get put a comment in explaining that devres can't be used here as the regulator will be destroyed before devres calls regulator_put. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
-rw-r--r--drivers/mfd/arizona-core.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
index 27936fe89434..b4f22e7b87f2 100644
--- a/drivers/mfd/arizona-core.c
+++ b/drivers/mfd/arizona-core.c
@@ -683,6 +683,12 @@ int arizona_dev_init(struct arizona *arizona)
goto err_early;
}
+ /**
+ * Don't use devres here because the only device we have to get
+ * against is the MFD device and DCVDD will likely be supplied by
+ * one of its children. Meaning that the regulator will be
+ * destroyed by the time devres calls regulator put.
+ */
arizona->dcvdd = regulator_get(arizona->dev, "DCVDD");
if (IS_ERR(arizona->dcvdd)) {
ret = PTR_ERR(arizona->dcvdd);