regulator: gpio-regulator: fix forgotten gpios-states reading

A patch from »regulator: gpio-regulator: fix forgotten gpios-states reading« in state Mainline for linux-kernel

From: Heiko Stuebner <heiko@...> Date: Thu, 13 Feb 2014 00:31:44 +0100

Commit-Message

From: Heiko Stuebner <heiko.stuebner@...> Commit 934624d6e9f0 ("regulator: gpio-regulator: do not open-code counting and access of dt array elements") forgot to convert the recently added gpios-states property using the same pattern. Convert this instance to use the of-helpers too, resolving the build error. Signed-off-by: Heiko Stuebner <heiko.stuebner@...>

Patch-Comment

drivers/regulator/gpio-regulator.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-)

Statistics

  • 9 lines added
  • 10 lines removed

Changes

---------------------- drivers/regulator/gpio-regulator.c ----------------------
index 500aa3b..64b4413 100644
@@ -171,22 +171,21 @@ of_get_gpio_regulator_config(struct device *dev, struct device_node *np)
if (!config->gpios)
return ERR_PTR(-ENOMEM);
- prop = of_find_property(np, "gpios-states", NULL);
- if (prop) {
- proplen = prop->length / sizeof(int);
- if (proplen != config->nr_gpios) {
- /* gpios <-> gpios-states mismatch */
- prop = NULL;
- }
- }
+ proplen = of_property_count_u32_elems(np, "gpios-states");
+ /* check gpios <-> gpios-states mismatch */
+ if (proplen != config->nr_gpios)
+ proplen = 0;
for (i = 0; i < config->nr_gpios; i++) {
gpio = of_get_named_gpio(np, "gpios", i);
if (gpio < 0)
break;
config->gpios[i].gpio = gpio;
- if (prop && be32_to_cpup((int *)prop->value + i))
- config->gpios[i].flags = GPIOF_OUT_INIT_HIGH;
+ if (proplen > 0) {
+ of_property_read_u32_index(np, "gpios-states", i, &ret);
+ if (ret)
+ config->gpios[i].flags = GPIOF_OUT_INIT_HIGH;
+ }
}
/* Fetch states. */
 
 

Recent Patches

About Us

Sed lacus. Donec lectus. Nullam pretium nibh ut turpis. Nam bibendum. In nulla tortor, elementum vel, tempor at, varius non, purus. Mauris vitae nisl nec metus placerat consectetuer.

Read More...