From 9bb649f23e71b452c27214f7dd7d354bdfaa6a10 Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Wed, 18 Jul 2012 18:37:05 -0700 Subject: [PATCH] --- yaml --- r: 318071 b: refs/heads/master c: c2eb50bbdb4400fae3d462237470c22e0f98545b h: refs/heads/master i: 318069: 10daea1f08c57f6bee30d42af84c8ccf8735dfd0 318067: e186ab89ba9efd254b16bbb7dd1278a1fc6ed200 318063: 2f75be9043231f86847af075e93676681edf7d8a v: v3 --- [refs] | 2 +- .../staging/comedi/drivers/cb_pcidio.c | 25 +++++++++---------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/[refs] b/[refs] index 717564de49f2..7ec2ff682194 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2329a10c3f985cbe7bba6ff3a053837f71a1ea40 +refs/heads/master: c2eb50bbdb4400fae3d462237470c22e0f98545b diff --git a/trunk/drivers/staging/comedi/drivers/cb_pcidio.c b/trunk/drivers/staging/comedi/drivers/cb_pcidio.c index 5527b4b0ec7a..11c7502a2a87 100644 --- a/trunk/drivers/staging/comedi/drivers/cb_pcidio.c +++ b/trunk/drivers/staging/comedi/drivers/cb_pcidio.c @@ -96,9 +96,6 @@ static const struct pcidio_board pcidio_boards[] = { struct pcidio_private { int data; /* currently unused */ - /* would be useful for a PCI device */ - struct pci_dev *pci_dev; - /* used for DO readback, currently unused */ unsigned int do_readback[4]; /* up to 4 unsigned int suffice to hold 96 bits for PCI-DIO96 */ @@ -143,6 +140,7 @@ static struct pci_dev *pcidio_find_pci_dev(struct comedi_device *dev, static int pcidio_attach(struct comedi_device *dev, struct comedi_devconfig *it) { + struct pci_dev *pcidev; int i; int ret; @@ -153,9 +151,10 @@ static int pcidio_attach(struct comedi_device *dev, struct comedi_devconfig *it) if (alloc_private(dev, sizeof(struct pcidio_private)) < 0) return -ENOMEM; - devpriv->pci_dev = pcidio_find_pci_dev(dev, it); - if (!devpriv->pci_dev) + pcidev = pcidio_find_pci_dev(dev, it); + if (!pcidev) return -EIO; + comedi_set_hw_dev(dev, &pcidev->dev); /* * Initialize dev->board_name. Note that we can use the "thisboard" @@ -163,12 +162,12 @@ static int pcidio_attach(struct comedi_device *dev, struct comedi_devconfig *it) */ dev->board_name = thisboard->name; - if (comedi_pci_enable(devpriv->pci_dev, thisboard->name)) + if (comedi_pci_enable(pcidev, thisboard->name)) return -EIO; devpriv->dio_reg_base = - pci_resource_start(devpriv->pci_dev, thisboard->dioregs_badrindex); + pci_resource_start(pcidev, thisboard->dioregs_badrindex); ret = comedi_alloc_subdevices(dev, thisboard->n_8255); if (ret) @@ -186,12 +185,12 @@ static int pcidio_attach(struct comedi_device *dev, struct comedi_devconfig *it) static void pcidio_detach(struct comedi_device *dev) { - if (devpriv) { - if (devpriv->pci_dev) { - if (devpriv->dio_reg_base) - comedi_pci_disable(devpriv->pci_dev); - pci_dev_put(devpriv->pci_dev); - } + struct pci_dev *pcidev = comedi_to_pci_dev(dev); + + if (pcidev) { + if (devpriv->dio_reg_base) + comedi_pci_disable(pcidev); + pci_dev_put(pcidev); } if (dev->subdevices) { int i;