• Johan Hovold's avatar
    gpio: sysfs: fix redundant lock-as-irq handling · 52176d0d
    Johan Hovold authored
    Drivers should call gpiochip_lock_as_irq (which prevents the pin
    direction from being changed) in their irq_request_resources callbacks
    but some drivers currently fail to do so.
    
    Instead a second, explicit and often redundant call to lock-as-irq is
    made by the sysfs-interface implementation after an irq has been
    requested.
    
    Move the explicit call before the irq-request to match the unlock done
    after the irq is later released. Note that this also fixes an irq leak,
    should the explicit call ever have failed.
    
    Also add a comment about removing the redundant call once the broken
    drivers have been fixed.
    Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
    Reviewed-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    52176d0d
gpiolib-sysfs.c 20.3 KB