i2c: parport: Switch to use module_parport_driver()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 12 Jul 2021 14:11:19 +0000 (17:11 +0300)
committerWolfram Sang <wsa@kernel.org>
Tue, 10 Aug 2021 21:07:37 +0000 (23:07 +0200)
Switch to use module_parport_driver() to reduce boilerplate code.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-parport.c

index a535889..231145c 100644 (file)
@@ -267,6 +267,16 @@ static void i2c_parport_attach(struct parport *port)
        int i;
        struct pardev_cb i2c_parport_cb;
 
+       if (type < 0) {
+               pr_warn("adapter type unspecified\n");
+               return;
+       }
+
+       if (type >= ARRAY_SIZE(adapter_parm)) {
+               pr_warn("invalid type (%d)\n", type);
+               return;
+       }
+
        for (i = 0; i < MAX_DEVICE; i++) {
                if (parport[i] == -1)
                        continue;
@@ -392,32 +402,8 @@ static struct parport_driver i2c_parport_driver = {
        .detach = i2c_parport_detach,
        .devmodel = true,
 };
-
-/* ----- Module loading, unloading and information ------------------------ */
-
-static int __init i2c_parport_init(void)
-{
-       if (type < 0) {
-               pr_warn("adapter type unspecified\n");
-               return -ENODEV;
-       }
-
-       if (type >= ARRAY_SIZE(adapter_parm)) {
-               pr_warn("invalid type (%d)\n", type);
-               return -ENODEV;
-       }
-
-       return parport_register_driver(&i2c_parport_driver);
-}
-
-static void __exit i2c_parport_exit(void)
-{
-       parport_unregister_driver(&i2c_parport_driver);
-}
+module_parport_driver(i2c_parport_driver);
 
 MODULE_AUTHOR("Jean Delvare <jdelvare@suse.de>");
 MODULE_DESCRIPTION("I2C bus over parallel port");
 MODULE_LICENSE("GPL");
-
-module_init(i2c_parport_init);
-module_exit(i2c_parport_exit);