Messages in this thread | | | Date | Thu, 01 Dec 2011 11:10:03 +0200 | From | Igor Grinberg <> | Subject | Re: [PATCH 4/4] mfd: twl6040-core: Use gpio_request_one |
| |
On 12/01/11 10:18, Axel Lin wrote: > 2011/12/1 Igor Grinberg <grinberg@compulab.co.il>: >> On 12/01/11 03:55, Axel Lin wrote: >>> Use gpio_request_one() instead of multiple gpiolib calls. >>> >>> Signed-off-by: Axel Lin <axel.lin@gmail.com> >>> --- >>> drivers/mfd/twl6040-core.c | 7 ++----- >>> 1 files changed, 2 insertions(+), 5 deletions(-) >>> >>> diff --git a/drivers/mfd/twl6040-core.c b/drivers/mfd/twl6040-core.c >>> index 268f80f..e57b1d1 100644 >>> --- a/drivers/mfd/twl6040-core.c >>> +++ b/drivers/mfd/twl6040-core.c >>> @@ -509,13 +509,10 @@ static int __devinit twl6040_probe(struct platform_device *pdev) >>> twl6040->audpwron = -EINVAL; >>> >>> if (gpio_is_valid(twl6040->audpwron)) { >>> - ret = gpio_request(twl6040->audpwron, "audpwron"); >>> + ret = gpio_request_one(twl6040->audpwron, GPIOF_OUT_INIT_LOW, >>> + "audpwron"); >>> if (ret) >>> goto gpio1_err; >>> - >>> - ret = gpio_direction_output(twl6040->audpwron, 0); >>> - if (ret) >>> - goto gpio2_err; >>> } >> >> same here, double check gpio_is_valid()? > > In the case of > twl6040->audpwron = -EINVAL; ( see line 509 ) > gpio_is_valid returns false, we just don't request gpio. > > If we remove the gpio_is_valid checking here, > then gpio_request_one will return -EINVAL. > Then the code always goes to the error path if twl6040->audpwron is -EINVAL.
Thanks for the explanation. So the GPIO is optional - now it makes sense to me.
-- Regards, Igor.
| |