[PATCH 28/40] staging: comedi: me4000: store the pci_dev in the comedi_device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxx>
Cc: Ian Abbott <abbotti@xxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 drivers/staging/comedi/drivers/me4000.c | 13 ++++++-------
 drivers/staging/comedi/drivers/me4000.h |  2 --
 2 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/drivers/staging/comedi/drivers/me4000.c b/drivers/staging/comedi/drivers/me4000.c
index 01557e2..39eb775 100644
--- a/drivers/staging/comedi/drivers/me4000.c
+++ b/drivers/staging/comedi/drivers/me4000.c
@@ -1778,7 +1778,6 @@ static int me4000_probe(struct comedi_device *dev, struct comedi_devconfig *it)
 					}
 					dev->board_ptr = me4000_boards + i;
 					board = comedi_board(dev);
-					info->pci_dev_p = pci_device;
 					goto found;
 				}
 			}
@@ -1787,6 +1786,7 @@ static int me4000_probe(struct comedi_device *dev, struct comedi_devconfig *it)
 	return -ENODEV;
 
 found:
+	comedi_set_hw_dev(dev, &pci_device->dev);
 	dev->board_name = board->name;
 
 	result = comedi_pci_enable(pci_device, dev->board_name);
@@ -1944,15 +1944,14 @@ static int me4000_attach(struct comedi_device *dev, struct comedi_devconfig *it)
 
 static void me4000_detach(struct comedi_device *dev)
 {
-	struct me4000_info *info = dev->private;
+	struct pci_dev *pcidev = comedi_to_pci_dev(dev);
 
-	if (info) {
-		if (info->pci_dev_p) {
+	if (pcidev) {
+		if (dev->iobase) {
 			reset_board(dev);
-			if (info->plx_regbase)
-				comedi_pci_disable(info->pci_dev_p);
-			pci_dev_put(info->pci_dev_p);
+			comedi_pci_disable(pcidev);
 		}
+		pci_dev_put(pcidev);
 	}
 }
 
diff --git a/drivers/staging/comedi/drivers/me4000.h b/drivers/staging/comedi/drivers/me4000.h
index a04c209..b6d8e3b 100644
--- a/drivers/staging/comedi/drivers/me4000.h
+++ b/drivers/staging/comedi/drivers/me4000.h
@@ -222,8 +222,6 @@ struct me4000_info {
 	unsigned long timer_regbase;	/*  Base address of the timer circuit */
 	unsigned long program_regbase;	/*  Base address to set the program pin for the xilinx */
 
-	struct pci_dev *pci_dev_p;	/*  General PCI information */
-
 	unsigned int ao_readback[4];
 };
 
-- 
1.7.11

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel


[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux