• Sudeep Holla's avatar
    Input: gpio_keys - set input direction explicitly · dadbb0aa
    Sudeep Holla authored
    Commit 700a38b2 ("Input: gpio_keys - switch to using generic device
    properties") switched to use generic device properties for GPIO keys and
    commit 5feeca3c ("Input: gpio_keys - add support for GPIO descriptors")
    switched from legacy GPIO numbers to GPIO descriptors.
    
    Previously devm_gpio_request_one was explicitly passed GPIOF_DIR_IN flag
    to set the GPIO direction as input. However devm_get_gpiod_from_child
    doesn't have such provisions and hence fwnode_get_named_gpiod can't set
    it as input.
    
    This breaks few platforms with the following error:
    " gpiochip_lock_as_irq: tried to flag a GPIO set as output for IRQ
      unable to lock HW IRQ <n> for IRQ
      genirq: Failed to request resources for POWER (irq <x>) on irqchip
      gpio_keys: Unable to claim irq <x>; error -22
      gpio-keys: probe failed with error -22 "
    
    This patch fixes the issue by setting input direction explicitly for
    gpio lines described by generic properties.
    
    Fixes: 700a38b2 ("Input: gpio_keys - switch to using generic device properties")
    Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
    Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
    dadbb0aa
gpio_keys.c 22.5 KB