Re: [PATCH v3 11/12] gpio: rockchip: Set input direction when request irq

From: Andy Shevchenko
Date: Tue Sep 03 2024 - 12:08:30 EST


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