FAILED: patch "[PATCH] spi: bcm63xx-hsspi: fix controller deregistration" failed to apply to 6.18-stable tree
[email protected]
maintainerThe patch below does not apply to the 6.18-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.18.y
git checkout FETCH_HEAD
git cherry-pick -x ab837c51899d7595c1165a45dfb631facad49461
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026051532-scrap-impeach-a562@gregkh' --subject-prefix 'PATCH 6.18.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From ab837c51899d7595c1165a45dfb631facad49461 Mon Sep 17 00:00:00 2001
From: Johan Hovold <[email protected]>
Date: Thu, 9 Apr 2026 14:04:05 +0200
Subject: [PATCH] spi: bcm63xx-hsspi: fix controller deregistration
Make sure to deregister the controller before disabling underlying resources like interrupts during driver unbind to allow SPI drivers to do I/O during deregistration.
Note that clocks were also disabled before the recent commit e532e21a246d ("spi: bcm63xx-hsspi: Simplify clock handling with devm_clk_get_enabled()").
drivers/spi/spi-bcm63xx-hsspi.c +7 -1
@@ -857,7 +857,7 @@ static int bcm63xx_hsspi_probe(struct platform_device *pdev) }/* register and we are done */ - ret =devm_spi_register_controller (dev, host); + ret =spi_register_controller (host);if (ret) goto out_sysgroup_disable;
@@ -880,9 +880,15 @@ static void bcm63xx_hsspi_remove(struct platform_device *pdev)struct spi_controller *host =platform_get_drvdata (pdev);struct bcm63xx_hsspi *bs =spi_controller_get_devdata (host); +spi_controller_get (host); + +spi_unregister_controller (host); +/* reset the hardware and block queue progress */ __raw_writel (0 , bs->regs +HSSPI_INT_MASK_REG );sysfs_remove_group (&pdev->dev.kobj, &bcm63xx_hsspi_group); + +spi_controller_put (host); }#ifdef CONFIG_PM_SLEEP