]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
staging: comedi: dt3000: store the pci_dev in the comedi_device
authorH Hartley Sweeten <hartleys@visionengravers.com>
Thu, 19 Jul 2012 01:58:43 +0000 (18:58 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Jul 2012 23:51:36 +0000 (16:51 -0700)
Use the hw_dev pointer in the comedi_device struct to hold the
pci_dev instead of carrying it in the private data.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/dt3000.c

index 3937e87963ed0001e2f23414d505279c57652662..a6fe6c9be87eb1599e59f995245f0958095be5a5 100644 (file)
@@ -248,8 +248,6 @@ static const struct dt3k_boardtype dt3k_boardtypes[] = {
 #define DT3000_CHANNEL_MODE_DI         1
 
 struct dt3k_private {
-
-       struct pci_dev *pci_dev;
        void __iomem *io_addr;
        unsigned int lock;
        unsigned int ao_readback[2];
@@ -817,7 +815,7 @@ static int dt3000_attach(struct comedi_device *dev, struct comedi_devconfig *it)
        pcidev = dt3000_find_pci_dev(dev, it);
        if (!pcidev)
                return -EIO;
-       devpriv->pci_dev = pcidev;
+       comedi_set_hw_dev(dev, &pcidev->dev);
 
        ret = comedi_pci_enable(pcidev, "dt3000");
        if (ret < 0)
@@ -900,17 +898,19 @@ static int dt3000_attach(struct comedi_device *dev, struct comedi_devconfig *it)
 
 static void dt3000_detach(struct comedi_device *dev)
 {
+       struct pci_dev *pcidev = comedi_to_pci_dev(dev);
+
        if (dev->irq)
                free_irq(dev->irq, dev);
        if (devpriv) {
-               if (devpriv->pci_dev) {
-                       if (dev->iobase)
-                               comedi_pci_disable(devpriv->pci_dev);
-                       pci_dev_put(devpriv->pci_dev);
-               }
                if (devpriv->io_addr)
                        iounmap(devpriv->io_addr);
        }
+       if (pcidev) {
+               if (dev->iobase)
+                       comedi_pci_disable(pcidev);
+               pci_dev_put(pcidev);
+       }
 }
 
 static struct comedi_driver dt3000_driver = {