i2c-parport: use new parport device model
authorSudip Mukherjee <sudipm.mukherjee@gmail.com>
Thu, 21 May 2015 06:16:31 +0000 (11:46 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 31 May 2015 22:10:23 +0000 (07:10 +0900)
Modify i2c-parport driver to use the new parallel port device model.

Tested-by: Jean Delvare <jdelvare@suse.de>
Acked-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/i2c/busses/i2c-parport.c

index 155da957a92b2516d6c36e62876aa15359ed1374..9b94c3db80abf2ef5f84fddedbcd5d416a936ac7 100644 (file)
@@ -185,11 +185,15 @@ static void i2c_parport_attach(struct parport *port)
                printk(KERN_ERR "i2c-parport: Failed to kzalloc\n");
                return;
        }
+       memset(&i2c_parport_cb, 0, sizeof(i2c_parport_cb));
+       i2c_parport_cb.flags = PARPORT_FLAG_EXCL;
+       i2c_parport_cb.irq_func = i2c_parport_irq;
+       i2c_parport_cb.private = adapter;
 
        pr_debug("i2c-parport: attaching to %s\n", port->name);
        parport_disable_irq(port);
-       adapter->pdev = parport_register_device(port, "i2c-parport",
-               NULL, NULL, i2c_parport_irq, PARPORT_FLAG_EXCL, adapter);
+       adapter->pdev = parport_register_dev_model(port, "i2c-parport",
+                                                  &i2c_parport_cb, i);
        if (!adapter->pdev) {
                printk(KERN_ERR "i2c-parport: Unable to register with parport\n");
                goto err_free;
@@ -283,9 +287,10 @@ static void i2c_parport_detach(struct parport *port)
 }
 
 static struct parport_driver i2c_parport_driver = {
-       .name   = "i2c-parport",
-       .attach = i2c_parport_attach,
-       .detach = i2c_parport_detach,
+       .name = "i2c-parport",
+       .match_port = i2c_parport_attach,
+       .detach = i2c_parport_detach,
+       .devmodel = true,
 };
 
 /* ----- Module loading, unloading and information ------------------------ */