Re: [PATCH 4/4] mfd: twl6040-core: Use gpio_request_one

From: Axel Lin
Date: Thu Dec 01 2011 - 03:26:05 EST


2011/12/1 Igor Grinberg <grinberg@xxxxxxxxxxxxxx>:
> 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@xxxxxxxxx>
>> ---
>>  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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/