On Tue, Sep 03, 2024 at 03:36:48PM +0800, Ye Zhang wrote: > Since the GPIO can only generate interrupts when its direction is set to > input, it is set to input before requesting the interrupt resources. ... > static int rockchip_irq_reqres(struct irq_data *d) > { > + irq_hw_number_t hwirq; > struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d); > struct rockchip_pin_bank *bank = gc->private; > > - return gpiochip_reqres_irq(&bank->gpio_chip, d->hwirq); > + hwirq = irqd_to_hwirq(d); > + rockchip_gpio_direction_input(&bank->gpio_chip, hwirq); struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d); struct rockchip_pin_bank *bank = gc->private; irq_hw_number_t hwirq = irqd_to_hwirq(d); rockchip_gpio_direction_input(&bank->gpio_chip, hwirq); > + return gpiochip_reqres_irq(&bank->gpio_chip, hwirq); > } -- With Best Regards, Andy Shevchenko