FAILED: patch "[PATCH] spi: coldfire-qspi: fix controller deregistration" failed to apply to 6.1-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 6.1-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.1.y
git checkout FETCH_HEAD
git cherry-pick -x e7c510e192ff2a1264d999575eea39a506424264
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026051550-impotence-starlit-8530@gregkh' --subject-prefix 'PATCH 6.1.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From e7c510e192ff2a1264d999575eea39a506424264 Mon Sep 17 00:00:00 2001
From: Johan Hovold <[email protected]>
Date: Thu, 9 Apr 2026 14:04:09 +0200
Subject: [PATCH] spi: coldfire-qspi: fix controller deregistration
Make sure to deregister the controller before disabling underlying resources like clocks (via runtime pm) during driver unbind.
drivers/spi/spi-coldfire-qspi.c +8 -2
@@ -410,9 +410,9 @@ static int mcfqspi_probe(struct platform_device *pdev)platform_set_drvdata (pdev, host);pm_runtime_enable (&pdev->dev); - status =devm_spi_register_controller (&pdev->dev, host); + status =spi_register_controller (host);if (status) { -dev_dbg (&pdev->dev,"devm_spi_register_controller failed\n" ); +dev_dbg (&pdev->dev,"failed to register controller\n" ); goto fail1; }
@@ -436,11 +436,17 @@ static void mcfqspi_remove(struct platform_device *pdev)struct spi_controller *host =platform_get_drvdata (pdev);struct mcfqspi *mcfqspi =spi_controller_get_devdata (host); +spi_controller_get (host); + +spi_unregister_controller (host); +pm_runtime_disable (&pdev->dev);/* disable the hardware (set the baud rate to 0) */ mcfqspi_wr_qmr (mcfqspi,MCFQSPI_QMR_MSTR );mcfqspi_cs_teardown (mcfqspi); + +spi_controller_put (host); }#ifdef CONFIG_PM_SLEEP