spi: bcm2835: Implement shutdown callback

Make sure we clear the FIFOs, stop the block, disable the clock and
release the DMA channel.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/20200528190605.24850-1-f.fainelli@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Florian Fainelli 2020-05-28 12:06:05 -07:00 committed by Mark Brown
parent b7d73cb63c
commit 118eb0e52e
No known key found for this signature in database
GPG key ID: 24D68B725D5487D0

View file

@ -1391,6 +1391,15 @@ static int bcm2835_spi_remove(struct platform_device *pdev)
return 0;
}
static void bcm2835_spi_shutdown(struct platform_device *pdev)
{
int ret;
ret = bcm2835_spi_remove(pdev);
if (ret)
dev_err(&pdev->dev, "failed to shutdown\n");
}
static const struct of_device_id bcm2835_spi_match[] = {
{ .compatible = "brcm,bcm2835-spi", },
{}
@ -1404,6 +1413,7 @@ static struct platform_driver bcm2835_spi_driver = {
},
.probe = bcm2835_spi_probe,
.remove = bcm2835_spi_remove,
.shutdown = bcm2835_spi_shutdown,
};
module_platform_driver(bcm2835_spi_driver);