lkml.org 
[lkml]   [2009]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] rtc-v3020: add ability to access v3020 chip with GPIOs


Andrew Morton wrote:
> On Mon, 2 Mar 2009 13:40:57 +0200
> Mike Rapoport <mike@compulab.co.il> wrote:
>
>> +static int v3020_gpio_map(struct v3020 *chip, struct platform_device *pdev,
>> + struct v3020_platform_data *pdata)
>> +{
>> + int i, err;
>> +
>> + v3020_gpio[V3020_CS].gpio = pdata->gpio_cs;
>> + v3020_gpio[V3020_WR].gpio = pdata->gpio_wr;
>> + v3020_gpio[V3020_RD].gpio = pdata->gpio_rd;
>> + v3020_gpio[V3020_IO].gpio = pdata->gpio_io;
>> +
>> + for (i = 0; i < ARRAY_SIZE(v3020_gpio); i++) {
>> + err = gpio_request(v3020_gpio[i].gpio, v3020_gpio[i].name);
>> + if (err)
>> + goto err_request;
>> +
>> + gpio_direction_output(v3020_gpio[i].gpio, 1);
>> + }
>> +
>> + chip->gpio = v3020_gpio;
>> +
>> + return 0;
>> +
>> +err_request:
>> + for (; i >= 0; i--)
>> + gpio_free(v3020_gpio[i].gpio);
>> +
>> + return err;
>> +}
>
> It needs this fix, I think?

Indeed. Thanks.

>
> fix off-by-one in error path
>
> --- a/drivers/rtc/rtc-v3020.c~rtc-v3020-add-ability-to-access-v3020-chip-with-gpios-fix
> +++ a/drivers/rtc/rtc-v3020.c
> @@ -136,7 +136,7 @@ static int v3020_gpio_map(struct v3020 *
> return 0;
>
> err_request:
> - for (; i >= 0; i--)
> + while (--i >= 0)
> gpio_free(v3020_gpio[i].gpio);
>
> return err;
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

--
Sincerely yours,
Mike.



\
 
 \ /
  Last update: 2009-03-03 07:19    [W:0.044 / U:1.252 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site