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? > out_pinctrl_enable: > return pinctrl_enable(sfp->pctl); > } > -- > 2.30.2 >