mtd: rawnand: sh_flctl: Convert to module_platform_driver()
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 16 Oct 2023 10:35:41 +0000 (12:35 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 27 Oct 2023 17:43:16 +0000 (19:43 +0200)
The driver doesn't benefit from the advantages that
module_platform_driver_probe() allows (i.e. putting the probe function
in .init.text and the .remove function into .exit.text).
So use module_platform_driver() instead which allows to bind the driver
also after booting (or module loading) and unbinding via sysfs.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20231016103540.1566865-2-u.kleine-koenig@pengutronix.de
drivers/mtd/nand/raw/sh_flctl.c

index 3e5df75cbc98237548fdfc411c32569a985cf07b..2a8164efb273d7d67b2e869fde122f096f2237ff 100644 (file)
@@ -1215,6 +1215,7 @@ static void flctl_remove(struct platform_device *pdev)
 }
 
 static struct platform_driver flctl_driver = {
+       .probe          = flctl_probe,
        .remove_new     = flctl_remove,
        .driver = {
                .name   = "sh_flctl",
@@ -1222,7 +1223,7 @@ static struct platform_driver flctl_driver = {
        },
 };
 
-module_platform_driver_probe(flctl_driver, flctl_probe);
+module_platform_driver(flctl_driver);
 
 MODULE_LICENSE("GPL v2");
 MODULE_AUTHOR("Yoshihiro Shimoda");