diff options
author | Mark Brown | 2013-02-19 12:42:34 +0000 |
---|---|---|
committer | Mark Brown | 2013-02-19 12:42:34 +0000 |
commit | a4dba88e6311ac51ea4328fea6fd000dc2948ddb (patch) | |
tree | c6ee3f7d44a504e16679fc19eeb481f164f76177 /drivers/regulator | |
parent | eb230d4a6120673938dddd1e4fbbf3ff6def2976 (diff) | |
parent | 896b65f3453d434983969e3ee7c254f4f8ba1424 (diff) |
Merge remote-tracking branch 'regulator/topic/gpio' into regulator-next
Diffstat (limited to 'drivers/regulator')
-rw-r--r-- | drivers/regulator/core.c | 2 | ||||
-rw-r--r-- | drivers/regulator/gpio-regulator.c | 7 |
2 files changed, 3 insertions, 6 deletions
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index 98a6ec3240e4..da9782bd27d0 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -3233,7 +3233,7 @@ static int add_regulator_attributes(struct regulator_dev *rdev) if (status < 0) return status; } - if (ops->is_enabled) { + if (rdev->ena_gpio || ops->is_enabled) { status = device_create_file(dev, &dev_attr_state); if (status < 0) return status; diff --git a/drivers/regulator/gpio-regulator.c b/drivers/regulator/gpio-regulator.c index bae681ccd3ea..9d39eb4aafa3 100644 --- a/drivers/regulator/gpio-regulator.c +++ b/drivers/regulator/gpio-regulator.c @@ -132,7 +132,7 @@ static struct regulator_ops gpio_regulator_voltage_ops = { .list_voltage = gpio_regulator_list_voltage, }; -struct gpio_regulator_config * +static struct gpio_regulator_config * of_get_gpio_regulator_config(struct device *dev, struct device_node *np) { struct gpio_regulator_config *config; @@ -163,10 +163,7 @@ of_get_gpio_regulator_config(struct device *dev, struct device_node *np) config->enable_gpio = of_get_named_gpio(np, "enable-gpio", 0); /* Fetch GPIOs. */ - for (i = 0; ; i++) - if (of_get_named_gpio(np, "gpios", i) < 0) - break; - config->nr_gpios = i; + config->nr_gpios = of_gpio_count(np); config->gpios = devm_kzalloc(dev, sizeof(struct gpio) * config->nr_gpios, |