Skip to content
  • Linus Walleij's avatar
    gpio: add API to be strict about GPIO IRQ usage · d468bf9e
    Linus Walleij authored
    
    
    It is currently often possible in many GPIO drivers to request
    a GPIO line to be used as IRQ after calling gpio_to_irq() and,
    as the gpiolib is not aware of this, set the same line to
    output and start driving it, with undesired side effects.
    
    As it is a bogus usage scenario to request a line flagged as
    output to used as IRQ, we introduce APIs to let gpiolib track
    the use of a line as IRQ, and also set this flag from the
    userspace ABI.
    
    The API is symmetric so that lines can also be flagged from
    .irq_enable() and unflagged from IRQ by .irq_disable().
    The debugfs file is altered so that we see if a line is
    reserved for IRQ.
    
    Cc: Enric Balletbo i Serra <eballetbo@gmail.com>
    Cc: Grant Likely <grant.likely@linaro.org>
    Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
    Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
    Acked-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
    Reviewed-by: default avatarStephen Warren <swarren@nvidia.com>
    Reviewed-by: default avatarJavier Martinez Canillas <javier.martinez@collabora.co.uk>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    d468bf9e