Hi Biju, On Thu, Oct 12, 2023 at 6:24 PM Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote: > > Subject: Re: [PATCH] pinctrl: renesas: rzg2l: Configure interrupt input > > mode > > On Fri, Oct 6, 2023 at 2:18 PM Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote: > > > Configure GPIO interrupt as input mode. Also if the bootloader sets > > > gpio interrupt pin as function, override it as gpio. > > > > > > Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > > > > Thanks for your patch! > > > > > --- a/drivers/pinctrl/renesas/pinctrl-rzg2l.c > > > +++ b/drivers/pinctrl/renesas/pinctrl-rzg2l.c > > > @@ -1580,6 +1580,26 @@ static const struct irq_chip rzg2l_gpio_irqchip = > > { > > > GPIOCHIP_IRQ_RESOURCE_HELPERS, }; > > > > > > +static int rzg2l_gpio_interrupt_input_mode(struct gpio_chip *chip, > > > +unsigned int offset) { > > > + struct rzg2l_pinctrl *pctrl = gpiochip_get_data(chip); > > > + const struct pinctrl_pin_desc *pin_desc = &pctrl- > > >desc.pins[offset]; > > > + u32 *pin_data = pin_desc->drv_data; Note to self: Prabhakar's patch[1] changes this to an array of u64s. > > > + u32 off = RZG2L_PIN_CFG_TO_PORT_OFFSET(*pin_data); > > > + u8 bit = RZG2L_PIN_ID_TO_PIN(offset); > > > + u8 reg8; > > > + int ret; > > > + > > > + reg8 = readb(pctrl->base + PMC(off)); > > > + if (reg8 & BIT(bit)) { > > > + ret = rzg2l_gpio_request(chip, offset); > > > > Who is taking care of calling pinctrl_gpio_free() when the interrupt has > > been freed? > > At the moment no, maybe we can use of rzg2l_gpio_irq_domain_free() to call pinctrl_gpio_free(), > Similar to freeing bitmap region?? Sounds good to me. Thanks! [1] "[PATCH v3 1/3] pinctrl: renesas: rzg2l: Include pinmap in RZG2L_GPIO_PORT_PACK() macro" https://lore.kernel.org/linux-renesas-soc/20231201131551.201503-2-prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds