[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4ED7446B.5000806@compulab.co.il>
Date: Thu, 01 Dec 2011 11:10:03 +0200
From: Igor Grinberg <grinberg@...pulab.co.il>
To: axel.lin@...il.com
CC: linux-kernel@...r.kernel.org,
Misael Lopez Cruz <misael.lopez@...com>,
Jorge Eduardo Candelaria <jorge.candelaria@...com>,
Samuel Ortiz <sameo@...ux.intel.com>
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@...pulab.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@...il.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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists