Re: [PATCH] pinctrl: renesas: rzg2l: Always call rzg2l_gpio_request() for interrupt pins
From: Linus Walleij
Date: Thu Oct 10 2024 - 15:49:20 EST
On Wed, Oct 9, 2024 at 10:27 AM Lad, Prabhakar
<prabhakar.csengg@xxxxxxxxx> wrote:
> On Wed, Oct 9, 2024 at 9:11 AM claudiu beznea <claudiu.beznea@xxxxxxxxx> wrote:
> > All these ports are hogs to configure them as input. Removing the hog
> > property make this patch work but I'm not sure this is the right approach
> > (see below diff).
> >
> I have dropped a query [0] to GPIO maintainers to check on the correct approach.
>
> https://lore.kernel.org/all/CA+V-a8vxUjTWccV-wLgy5CJiFYfEMsx-f+8weCJDP6uD_dh4AA@xxxxxxxxxxxxxx/
Yeah I replied, the callbacks in struct irq_chip rzg2l_gpio_irqchip
should be calling the following callbacks:
/* lock/unlock as IRQ */
int gpiochip_lock_as_irq(struct gpio_chip *gc, unsigned int offset);
void gpiochip_unlock_as_irq(struct gpio_chip *gc, unsigned int offset);
In its
.irq_request_resources and .irq_release_resources callbacks.
And it currently doesn't even define these callbacks.
If the driver was using the GPIOLIB_IRQCHIP and adding the
irqchip in the standard way along with the gpiochip, this would
not be a problem.
Can you look into simply using GPIOLIB_IRQCHIP like most
other drivers as well?
Yours,
Linus Walleij