Skip to content

Commit c42e36a

Browse files
claudiubezneabroonie
authored andcommitted
spi: Drop dev_pm_domain_detach() call
Starting with commit f995080 ("PM: domains: Detach on device_unbind_cleanup()"), there is no longer a need to call dev_pm_domain_detach() in the bus remove function. The device_unbind_cleanup() function now handles this to avoid invoking devres cleanup handlers while the PM domain is powered off, which could otherwise lead to failures as described in the above-mentioned commit. Drop the explicit dev_pm_domain_detach() call and rely instead on the flags passed to dev_pm_domain_attach() to power off the domain. Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Message-ID: <20250827101612.928008-1-claudiu.beznea.uj@bp.renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent b875b97 commit c42e36a

1 file changed

Lines changed: 3 additions & 7 deletions

File tree

drivers/spi/spi.c

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -427,15 +427,13 @@ static int spi_probe(struct device *dev)
427427
if (spi->irq < 0)
428428
spi->irq = 0;
429429

430-
ret = dev_pm_domain_attach(dev, PD_FLAG_ATTACH_POWER_ON);
430+
ret = dev_pm_domain_attach(dev, PD_FLAG_ATTACH_POWER_ON |
431+
PD_FLAG_DETACH_POWER_OFF);
431432
if (ret)
432433
return ret;
433434

434-
if (sdrv->probe) {
435+
if (sdrv->probe)
435436
ret = sdrv->probe(spi);
436-
if (ret)
437-
dev_pm_domain_detach(dev, true);
438-
}
439437

440438
return ret;
441439
}
@@ -446,8 +444,6 @@ static void spi_remove(struct device *dev)
446444

447445
if (sdrv->remove)
448446
sdrv->remove(to_spi_device(dev));
449-
450-
dev_pm_domain_detach(dev, true);
451447
}
452448

453449
static void spi_shutdown(struct device *dev)

0 commit comments

Comments
 (0)