FAILED: patch "[PATCH] spi: uniphier: Fix a bug that doesn't point to private data" failed to apply to 5.4-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 5.4-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]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 80bb73a9fbcde4ecc55e12f10c73fabbe68a24d1 Mon Sep 17 00:00:00 2001
From: Kunihiko Hayashi <[email protected]>
Date: Wed, 22 Dec 2021 13:48:12 +0900
Subject: [PATCH] spi: uniphier: Fix a bug that doesn't point to private data
correctly
In uniphier_spi_remove(), there is a wrong code to get private data from the platform device, so the driver can't be removed properly.
The driver should get spi_master from the platform device and retrieve the private data from it.
drivers/spi/spi-uniphier.c +6 -5
@@ -767,12 +767,13 @@ static int uniphier_spi_probe(struct platform_device *pdev)static int uniphier_spi_remove (struct platform_device *pdev) { -struct uniphier_spi_priv *priv =platform_get_drvdata (pdev); +struct spi_master *master =platform_get_drvdata (pdev); +struct uniphier_spi_priv *priv =spi_master_get_devdata (master); -if (priv->master->dma_tx) -dma_release_channel (priv->master->dma_tx); -if (priv->master->dma_rx) -dma_release_channel (priv->master->dma_rx); +if (master->dma_tx) +dma_release_channel (master->dma_tx); +if (master->dma_rx) +dma_release_channel (master->dma_rx);clk_disable_unprepare (priv->clk);