Since the GPIO can only generate interrupts when its direction is set to input, it is set to input before requesting the interrupt resources. Signed-off-by: Ye Zhang <ye.zhang@xxxxxxxxxxxxxx> --- drivers/gpio/gpio-rockchip.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpio/gpio-rockchip.c b/drivers/gpio/gpio-rockchip.c index 5289c94d5c60..4f8d50626fcc 100644 --- a/drivers/gpio/gpio-rockchip.c +++ b/drivers/gpio/gpio-rockchip.c @@ -469,6 +469,8 @@ static int rockchip_irq_reqres(struct irq_data *d) struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d); struct rockchip_pin_bank *bank = gc->private; + rockchip_gpio_direction_input(&bank->gpio_chip, d->hwirq); + return gpiochip_reqres_irq(&bank->gpio_chip, d->hwirq); } -- 2.34.1