Staging: most: Use module_i2c_driver
authorShraddha Barke <shraddha.6596@gmail.com>
Tue, 29 Sep 2015 05:44:42 +0000 (11:14 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 29 Sep 2015 13:20:35 +0000 (15:20 +0200)
Macro module_i2c_driver is used for drivers whose init
and exit paths does only register and unregister to i2c
API. Remove some boilerplate code by using module_i2c_driver.

Problem found using Coccinelle.

Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/most/hdm-i2c/hdm_i2c.c

index 7e0c46154bb8bc32c9f5d19061bc22d1acb7146c..cffea40d09d0cf10de6d6980144a94e4f2800dab 100644 (file)
@@ -423,27 +423,7 @@ static struct i2c_driver i2c_driver = {
        .id_table = i2c_id,
 };
 
-/**
- * hdm_i2c_init - Driver Registration Routine
- */
-static int __init hdm_i2c_init(void)
-{
-       pr_info("hdm_i2c_init()\n");
-
-       return i2c_add_driver(&i2c_driver);
-}
-
-/**
- * hdm_i2c_exit - Driver Cleanup Routine
- **/
-static void __exit hdm_i2c_exit(void)
-{
-       i2c_del_driver(&i2c_driver);
-       pr_info("hdm_i2c_exit()\n");
-}
-
-module_init(hdm_i2c_init);
-module_exit(hdm_i2c_exit);
+module_i2c_driver(i2c_driver);
 
 MODULE_AUTHOR("Jain Roy Ambi <JainRoy.Ambi@microchip.com>");
 MODULE_AUTHOR("Andrey Shvetsov <andrey.shvetsov@k2l.de>");