lkml.org 
[lkml]   [2010]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH RFC 0/3] Implement refcounting for OF GPIO chips
    On Tue, Feb 9, 2010 at 2:40 AM, Michal Simek <michal.simek@petalogix.com> 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.

    g.

    --
    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 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/

    \
     
     \ /
      Last update: 2010-02-09 18:31    [W:0.033 / U:30.144 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site