linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] spi: Drop dev_pm_domain_detach() call
@ 2025-08-27 10:16 Claudiu
  2025-08-27 11:35 ` Ulf Hansson
  2025-08-28 14:26 ` Mark Brown
  0 siblings, 2 replies; 3+ messages in thread
From: Claudiu @ 2025-08-27 10:16 UTC (permalink / raw)
  To: broonie, ulf.hansson, rafael
  Cc: claudiu.beznea, linux-spi, linux-kernel, Claudiu Beznea

From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

Starting with commit f99508074e78 ("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>
---
 drivers/spi/spi.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index a388f372b27a..f95c4304df8e 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -427,15 +427,13 @@ static int spi_probe(struct device *dev)
 	if (spi->irq < 0)
 		spi->irq = 0;
 
-	ret = dev_pm_domain_attach(dev, PD_FLAG_ATTACH_POWER_ON);
+	ret = dev_pm_domain_attach(dev, PD_FLAG_ATTACH_POWER_ON |
+					PD_FLAG_DETACH_POWER_OFF);
 	if (ret)
 		return ret;
 
-	if (sdrv->probe) {
+	if (sdrv->probe)
 		ret = sdrv->probe(spi);
-		if (ret)
-			dev_pm_domain_detach(dev, true);
-	}
 
 	return ret;
 }
@@ -446,8 +444,6 @@ static void spi_remove(struct device *dev)
 
 	if (sdrv->remove)
 		sdrv->remove(to_spi_device(dev));
-
-	dev_pm_domain_detach(dev, true);
 }
 
 static void spi_shutdown(struct device *dev)
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] spi: Drop dev_pm_domain_detach() call
  2025-08-27 10:16 [PATCH] spi: Drop dev_pm_domain_detach() call Claudiu
@ 2025-08-27 11:35 ` Ulf Hansson
  2025-08-28 14:26 ` Mark Brown
  1 sibling, 0 replies; 3+ messages in thread
From: Ulf Hansson @ 2025-08-27 11:35 UTC (permalink / raw)
  To: Claudiu; +Cc: broonie, rafael, linux-spi, linux-kernel, Claudiu Beznea

On Wed, 27 Aug 2025 at 12:16, Claudiu <claudiu.beznea@tuxon.dev> wrote:
>
> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
>
> Starting with commit f99508074e78 ("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>

Kind regards
Uffe


> ---
>  drivers/spi/spi.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
> index a388f372b27a..f95c4304df8e 100644
> --- a/drivers/spi/spi.c
> +++ b/drivers/spi/spi.c
> @@ -427,15 +427,13 @@ static int spi_probe(struct device *dev)
>         if (spi->irq < 0)
>                 spi->irq = 0;
>
> -       ret = dev_pm_domain_attach(dev, PD_FLAG_ATTACH_POWER_ON);
> +       ret = dev_pm_domain_attach(dev, PD_FLAG_ATTACH_POWER_ON |
> +                                       PD_FLAG_DETACH_POWER_OFF);
>         if (ret)
>                 return ret;
>
> -       if (sdrv->probe) {
> +       if (sdrv->probe)
>                 ret = sdrv->probe(spi);
> -               if (ret)
> -                       dev_pm_domain_detach(dev, true);
> -       }
>
>         return ret;
>  }
> @@ -446,8 +444,6 @@ static void spi_remove(struct device *dev)
>
>         if (sdrv->remove)
>                 sdrv->remove(to_spi_device(dev));
> -
> -       dev_pm_domain_detach(dev, true);
>  }
>
>  static void spi_shutdown(struct device *dev)
> --
> 2.43.0
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] spi: Drop dev_pm_domain_detach() call
  2025-08-27 10:16 [PATCH] spi: Drop dev_pm_domain_detach() call Claudiu
  2025-08-27 11:35 ` Ulf Hansson
@ 2025-08-28 14:26 ` Mark Brown
  1 sibling, 0 replies; 3+ messages in thread
From: Mark Brown @ 2025-08-28 14:26 UTC (permalink / raw)
  To: ulf.hansson, rafael, Claudiu; +Cc: linux-spi, linux-kernel, Claudiu Beznea

On Wed, 27 Aug 2025 13:16:12 +0300, Claudiu wrote:
> Starting with commit f99508074e78 ("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.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next

Thanks!

[1/1] spi: Drop dev_pm_domain_detach() call
      commit: c42e36a488c7e01f833fc9f4814f735b66b2d494

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-08-28 14:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-27 10:16 [PATCH] spi: Drop dev_pm_domain_detach() call Claudiu
2025-08-27 11:35 ` Ulf Hansson
2025-08-28 14:26 ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).