[lkml]   [2010]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH RFC 0/3] Implement refcounting for OF GPIO chips
On Tue, Feb 9, 2010 at 2:40 AM, Michal Simek <> wrote:
> Anton Vorontsov wrote:
>> Hi all,
>> OF GPIO infrastructure is using dynamic GPIO bases, so it is possible
>> that of_get_gpio()'s returned GPIO number will be no longer valid, or
>> worse, it may point to an unexpected GPIO controller.
>> This scenario is possible:
>> driver A:               driver B:              driver C:
>> ---------               ---------              ---------
>>                        gpiochip_add()
>> gpio = of_get_gpio()
>>                        gpiochip_remove()
>>                                               gpiochip_add()
>> gpio_request(gpio);
>> gpio_set_value(gpio);
>> That is, driver A assumes that it is working with GPIO from driver B,
>> but in practice it may disappear and driver C will take its GPIO base
>> number, so it will provide the same GPIO numbers.
>> The above situation is hard to trigger, but the issue is there
>> nonetheless, and so needs fixing.
> I tested xilinx gpio driver, heartbeat trigger and access through sysfs and
> I haven't found any problem. There is only small part of code for Microblaze
> and it is the same with PowerPC. If is Ben OK with it, I am ok too.

I'm not convinced the changes take the best approach, so I'm not okay
with it yet.


Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2010-02-09 18:31    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean