Message ID | 20220201120310.878267-12-maz@kernel.org |
---|---|
State | New |
Headers | show |
Series | genirq: Move irqchip runtime PM over to irq domain | expand |
On Tue, 1 Feb 2022 at 16:16, Emil Renner Berthing <kernel@esmil.dk> wrote: > On Tue, 1 Feb 2022 at 13:19, Marc Zyngier <maz@kernel.org> wrote: > > > > Move the reference to the device over to the irq domain. > > > > Signed-off-by: Marc Zyngier <maz@kernel.org> > > --- > > 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@esmil.dk>
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); + out_pinctrl_enable: return pinctrl_enable(sfp->pctl); }
Move the reference to the device over to the irq domain. Signed-off-by: Marc Zyngier <maz@kernel.org> --- drivers/pinctrl/pinctrl-starfive.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)