staging: comedi: remove use of __devinit
[firefly-linux-kernel-4.4.55.git] / drivers / staging / comedi / drivers / adv_pci_dio.c
index a3c22419cd5f2e6c246c7c77a82235b1a44fd127..2ab42c91ad26d32d9bae7bf5e44be4857afeb714 100644 (file)
@@ -36,8 +36,6 @@ Configuration options:
 #include "8255.h"
 #include "8253.h"
 
-#define PCI_VENDOR_ID_ADVANTECH                0x13fe
-
 /* hardware types of the cards */
 enum hw_cards_id {
        TYPE_PCI1730, TYPE_PCI1733, TYPE_PCI1734, TYPE_PCI1735, TYPE_PCI1736,
@@ -1092,26 +1090,25 @@ static const void *pci_dio_find_boardinfo(struct comedi_device *dev,
        return NULL;
 }
 
-static int pci_dio_attach_pci(struct comedi_device *dev,
-                             struct pci_dev *pcidev)
+static int pci_dio_auto_attach(struct comedi_device *dev,
+                                        unsigned long context_unused)
 {
+       struct pci_dev *pcidev = comedi_to_pci_dev(dev);
        const struct dio_boardtype *this_board;
        struct pci_dio_private *devpriv;
        struct comedi_subdevice *s;
        int ret, subdev, i, j;
 
-       comedi_set_hw_dev(dev, &pcidev->dev);
-
        this_board = pci_dio_find_boardinfo(dev, pcidev);
        if (!this_board)
                return -ENODEV;
        dev->board_ptr = this_board;
        dev->board_name = this_board->name;
 
-       ret = alloc_private(dev, sizeof(*devpriv));
-       if (ret < 0)
-               return ret;
-       devpriv = dev->private;
+       devpriv = kzalloc(sizeof(*devpriv), GFP_KERNEL);
+       if (!devpriv)
+               return -ENOMEM;
+       dev->private = devpriv;
 
        ret = comedi_pci_enable(pcidev, dev->board_name);
        if (ret)
@@ -1199,11 +1196,11 @@ static void pci_dio_detach(struct comedi_device *dev)
 static struct comedi_driver adv_pci_dio_driver = {
        .driver_name    = "adv_pci_dio",
        .module         = THIS_MODULE,
-       .attach_pci     = pci_dio_attach_pci,
+       .auto_attach    = pci_dio_auto_attach,
        .detach         = pci_dio_detach,
 };
 
-static int __devinit adv_pci_dio_pci_probe(struct pci_dev *dev,
+static int adv_pci_dio_pci_probe(struct pci_dev *dev,
                                           const struct pci_device_id *ent)
 {
        return comedi_pci_auto_config(dev, &adv_pci_dio_driver);
@@ -1237,7 +1234,7 @@ static struct pci_driver adv_pci_dio_pci_driver = {
        .name           = "adv_pci_dio",
        .id_table       = adv_pci_dio_pci_table,
        .probe          = adv_pci_dio_pci_probe,
-       .remove         = __devexit_p(adv_pci_dio_pci_remove),
+       .remove         = adv_pci_dio_pci_remove,
 };
 module_comedi_pci_driver(adv_pci_dio_driver, adv_pci_dio_pci_driver);