Merge branch 'stable/for-linus-5.15' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / 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);