Re: [PATCH] pinctrl: renesas: rzg2l: Configure interrupt input mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux