summaryrefslogtreecommitdiffstats
path: root/drivers/regulator
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-12-05 01:29:57 +0100
committerMark Brown <broonie@linaro.org>2013-12-05 12:34:53 +0100
commit5b1ada83bae7d689cf1fe76eb1bdd058ea84a97c (patch)
tree798bdad12bba1cd7e664d7753600bc0972ec1b79 /drivers/regulator
parentregulator: gpio-regulator: Don't oops on missing regulator-type property (diff)
downloadlinux-5b1ada83bae7d689cf1fe76eb1bdd058ea84a97c.tar.xz
linux-5b1ada83bae7d689cf1fe76eb1bdd058ea84a97c.zip
regulator: gpio: Don't require a regulator-type property
Since essentially all GPIO controlled regulators are voltage regulators make the regulator-type property optional, defaulting to voltage. Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'drivers/regulator')
-rw-r--r--drivers/regulator/gpio-regulator.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/regulator/gpio-regulator.c b/drivers/regulator/gpio-regulator.c
index bcd827c363dc..cdb9d947d914 100644
--- a/drivers/regulator/gpio-regulator.c
+++ b/drivers/regulator/gpio-regulator.c
@@ -203,17 +203,15 @@ of_get_gpio_regulator_config(struct device *dev, struct device_node *np)
}
config->nr_states = i;
+ config->type = REGULATOR_VOLTAGE;
ret = of_property_read_string(np, "regulator-type", &regtype);
- if (ret < 0) {
- dev_err(dev, "Missing 'regulator-type' property\n");
- return ERR_PTR(-EINVAL);
+ if (ret >= 0) {
+ if (!strncmp("voltage", regtype, 7))
+ config->type = REGULATOR_VOLTAGE;
+ else if (!strncmp("current", regtype, 7))
+ config->type = REGULATOR_CURRENT;
}
- if (!strncmp("voltage", regtype, 7))
- config->type = REGULATOR_VOLTAGE;
- else if (!strncmp("current", regtype, 7))
- config->type = REGULATOR_CURRENT;
-
return config;
}