Skip to content

Commit

Permalink
regulator: gpio-regulator: Catch 'no states property' misuse
Browse files Browse the repository at this point in the history
A selection of voltage or current values (AKA states) should always
be specified when using a GPIO regulator. If there are no switchable
states then the fixed regulators should be used instead.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
  • Loading branch information
Lee Jones authored and Mark Brown committed Nov 14, 2012
1 parent f8a9f75 commit 216f2b9
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@ GPIO controlled regulators

Required properties:
- compatible : Must be "regulator-gpio".
- states : Selection of available voltages and GPIO configs.
if there are no states, then use a fixed regulator

Optional properties:
- enable-gpio : GPIO to use to enable/disable the regulator.
- gpios : GPIO group used to control voltage.
- states : Selection of available voltages and GPIO configs.
- startup-delay-us : Startup time in microseconds.
- enable-active-high : Polarity of GPIO is active high (default is low).

Expand Down
5 changes: 5 additions & 0 deletions drivers/regulator/gpio-regulator.c
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,11 @@ of_get_gpio_regulator_config(struct device *dev, struct device_node *np)

/* Fetch states. */
prop = of_find_property(np, "states", NULL);
if (!prop) {
dev_err(dev, "No 'states' property found\n");
return ERR_PTR(-EINVAL);
}

proplen = prop->length / sizeof(int);

config->states = devm_kzalloc(dev,
Expand Down

0 comments on commit 216f2b9

Please sign in to comment.