[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAF+7xWnf398rY_Lb8CexjZDtcp8poseQc11S-14xyNSVGDdJWw@mail.gmail.com>
Date: Thu, 1 Dec 2011 16:18:35 +0800
From: Axel Lin <axel.lin@...il.com>
To: Igor Grinberg <grinberg@...pulab.co.il>
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
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.
Axel
>
>
> --
> 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