On Tue, 1 Feb 2022 at 16:16, Emil Renner Berthing <kernel@xxxxxxxx> wrote: > On Tue, 1 Feb 2022 at 13:19, Marc Zyngier <maz@xxxxxxxxxx> wrote: > > > > Move the reference to the device over to the irq domain. > > > > Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx> > > --- > > drivers/pinctrl/pinctrl-starfive.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/pinctrl/pinctrl-starfive.c b/drivers/pinctrl/pinctrl-starfive.c > > index 0b912152a405..5be9866c2b3c 100644 > > --- a/drivers/pinctrl/pinctrl-starfive.c > > +++ b/drivers/pinctrl/pinctrl-starfive.c > > @@ -1307,7 +1307,6 @@ static int starfive_probe(struct platform_device *pdev) > > sfp->gc.base = -1; > > sfp->gc.ngpio = NR_GPIOS; > > > > - starfive_irq_chip.parent_device = dev; > > starfive_irq_chip.name = sfp->gc.label; > > > > sfp->gc.irq.chip = &starfive_irq_chip; > > @@ -1330,6 +1329,8 @@ static int starfive_probe(struct platform_device *pdev) > > if (ret) > > return dev_err_probe(dev, ret, "could not register gpiochip\n"); > > > > + irq_domain_set_pm_device(sfp->gc.irq.domain, dev); > > + > > The gpio framework uses the irq_domain at sfp->gc.irq.domain, so > shouldn't this be set before registering the gpio_chip with > devm_gpiochip_add_data above? Ah, no. sfp->gc.irq.domain is a pointer to an irq_domain that is initialised when adding the gpio_chip. Reviewed-by: Emil Renner Berthing <kernel@xxxxxxxx>