2012-08-09 14:33:22

by Marek Szyprowski

[permalink] [raw]
Subject: [PATCH] regulator: core: request only valid gpio pins for regulator enable

Commit 65f735082de3 ("regulator: core: Add core support for GPIO controlled
enable lines") introduced enable gpio entry in regulator configuration
structure. Some drivers use '-1' as a placeholder for marking that such
gpio line is not available, because '0' is considered as a valid gpio
number. This patch fixes initialization of such drivers (like MAX8952
on UniversalC210 board), when '-1' is provided as enable gpio pin in the
regulator's platform data.

Signed-off-by: Marek Szyprowski <[email protected]>
---
drivers/regulator/core.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index f092588..4838531 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -3217,7 +3217,7 @@ regulator_register(const struct regulator_desc *regulator_desc,

dev_set_drvdata(&rdev->dev, rdev);

- if (config->ena_gpio) {
+ if (config->ena_gpio && gpio_is_valid(config->ena_gpio)) {
ret = gpio_request_one(config->ena_gpio,
GPIOF_DIR_OUT | config->ena_gpio_flags,
rdev_get_name(rdev));
--
1.7.1.569.g6f426


2012-08-09 18:57:07

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] regulator: core: request only valid gpio pins for regulator enable

On Thu, Aug 09, 2012 at 04:33:00PM +0200, Marek Szyprowski wrote:
> Commit 65f735082de3 ("regulator: core: Add core support for GPIO controlled
> enable lines") introduced enable gpio entry in regulator configuration
> structure. Some drivers use '-1' as a placeholder for marking that such
> gpio line is not available, because '0' is considered as a valid gpio
> number. This patch fixes initialization of such drivers (like MAX8952
> on UniversalC210 board), when '-1' is provided as enable gpio pin in the
> regulator's platform data.

Applied, thanks.