[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210728094607.50589-1-clement.leger@bootlin.com>
Date: Wed, 28 Jul 2021 11:46:07 +0200
From: Clément Léger <clement.leger@...tlin.com>
To: Ludovic Desroches <ludovic.desroches@...rochip.com>,
Tudor Ambarus <tudor.ambarus@...rochip.com>,
Vinod Koul <vkoul@...nel.org>
Cc: Clément Léger <clement.leger@...tlin.com>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
linux-arm-kernel@...ts.infradead.org, dmaengine@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v2] dmaengine: at_xdmac: use platform_driver_register
When using SCMI clocks, the clocks are probed later than subsys initcall
level. This driver uses platform_driver_probe which is not compatible with
deferred probing and won't be probed again later if probe function fails
due to clocks not being available at that time.
This patch replaces the use of platform_driver_probe with
platform_driver_register which will allow probing the driver later again
when clocks will be available.
Signed-off-by: Clément Léger <clement.leger@...tlin.com>
---
drivers/dma/at_xdmac.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c
index 64a52bf4d737..ab78e0f6afd7 100644
--- a/drivers/dma/at_xdmac.c
+++ b/drivers/dma/at_xdmac.c
@@ -2240,10 +2240,16 @@ static struct platform_driver at_xdmac_driver = {
static int __init at_xdmac_init(void)
{
- return platform_driver_probe(&at_xdmac_driver, at_xdmac_probe);
+ return platform_driver_register(&at_xdmac_driver);
}
subsys_initcall(at_xdmac_init);
+static void __exit at_xdmac_exit(void)
+{
+ platform_driver_unregister(&at_xdmac_driver);
+}
+module_exit(at_xdmac_exit);
+
MODULE_DESCRIPTION("Atmel Extended DMA Controller driver");
MODULE_AUTHOR("Ludovic Desroches <ludovic.desroches@...el.com>");
MODULE_LICENSE("GPL");
--
2.32.0
Powered by blists - more mailing lists