ARM: pxa: Use module_platform_driver
authorVaishali Thakkar <vthakkar1994@gmail.com>
Fri, 3 Jul 2015 12:10:45 +0000 (17:40 +0530)
committerRobert Jarzmik <robert.jarzmik@free.fr>
Sat, 18 Jul 2015 10:16:42 +0000 (12:16 +0200)
Use module_platform_driver for drivers whose init and exit functions
only register and unregister, respectively.

A simplified version of the Coccinelle semantic patch that performs
this transformation is as follows:

@a@
identifier f, x;
@@
-static f(...) { return platform_driver_register(&x); }

@b depends on a@
identifier e, a.x;
@@
-static e(...) { platform_driver_unregister(&x); }

@c depends on a && b@
identifier a.f;
declarer name module_init;
@@
-module_init(f);

@d depends on a && b && c@
identifier b.e, a.x;
declarer name module_exit;
declarer name module_platform_driver;
@@
-module_exit(e);
+module_platform_driver(x);

Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
arch/arm/mach-pxa/tosa-bt.c

index 685deff..e0a5320 100644 (file)
@@ -131,17 +131,4 @@ static struct platform_driver tosa_bt_driver = {
                .name = "tosa-bt",
        },
 };
-
-
-static int __init tosa_bt_init(void)
-{
-       return platform_driver_register(&tosa_bt_driver);
-}
-
-static void __exit tosa_bt_exit(void)
-{
-       platform_driver_unregister(&tosa_bt_driver);
-}
-
-module_init(tosa_bt_init);
-module_exit(tosa_bt_exit);
+module_platform_driver(tosa_bt_driver);