On Thu, Oct 17, 2024 at 1:39 PM Prabhakar <prabhakar.csengg@xxxxxxxxx> wrote: > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > > Override the default `irq_request_resources` and `irq_release_resources` > functions with `rzg2l_gpio_irq_request_resources` and > `rzg2l_gpio_irq_release_resources` in the RZ/G2L pinctrl driver. > > The `rzg2l_gpio_irq_request_resources()` function now ensures that the pin > is requested by the pinctrl core before locking the GPIO as an IRQ. This > ensures that the `pinmux-pins` file in sysfs correctly reports the pin as > claimed. Additionally, the `rzg2l_gpio_direction_input()` call is moved > into the `rzg2l_gpio_irq_request_resources()` callback, as it makes sense > to configure the GPIO pin as an input after it has been requested. > > The `rzg2l_gpio_irq_release_resources()` function unlocks the GPIO as an > IRQ and then frees the GPIO, ensuring proper cleanup when the IRQ is no > longer needed. This guarantees that the `pinmux-pins` file in sysfs > correctly reports the pin as unclaimed. > > Also add a `pin_requested()` check in `rzg2l_gpio_free()` to return early > if the pin is already released. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> Hm! I can live with this I think, if Geert also think it is the right thing to do. Yours, Linus Walleij