[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-driver-devel
Subject:    [PATCH 12/18] staging: comedi: addi-data: cleanup reading of the PCI bars
From:       H Hartley Sweeten <hartleys () visionengravers ! com>
Date:       2012-10-31 23:57:52
Message-ID: 201210311657.53190.hartleys () visionengravers ! com
[Download RAW message or body]

Read the PCI bars directly into the private data variables and
remove all the local variables used for them in addi_attach_pci().

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 .../staging/comedi/drivers/addi-data/addi_common.c | 32 +++++++---------------
 1 file changed, 10 insertions(+), 22 deletions(-)

diff --git a/drivers/staging/comedi/drivers/addi-data/addi_common.c \
b/drivers/staging/comedi/drivers/addi-data/addi_common.c index 5cfd85d..a9295f2 \
                100644
--- a/drivers/staging/comedi/drivers/addi-data/addi_common.c
+++ b/drivers/staging/comedi/drivers/addi-data/addi_common.c
@@ -101,7 +101,6 @@ static int addi_attach_pci(struct comedi_device *dev,
 	struct comedi_subdevice *s;
 	int ret, pages, i, n_subdevices;
 	unsigned int dw_Dummy;
-	resource_size_t iobase_a, iobase_main, iobase_addon, iobase_reserved;
 
 	this_board = addi_find_boardinfo(dev, pcidev);
 	if (!this_board)
@@ -121,34 +120,23 @@ static int addi_attach_pci(struct comedi_device *dev,
 		pci_set_master(pcidev);
 	devpriv->allocated = 1;
 
-	iobase_a = pci_resource_start(pcidev, 0);
-	iobase_main = pci_resource_start(pcidev, 1);
-	iobase_addon = pci_resource_start(pcidev, 2);
-	iobase_reserved = pci_resource_start(pcidev, 3);
+	if (!this_board->pc_EepromChip ||
+	    !strcmp(this_board->pc_EepromChip, ADDIDATA_9054)) {
+		if (this_board->i_IorangeBase1)
+			dev->iobase = pci_resource_start(pcidev, 1);
+		else
+			dev->iobase = pci_resource_start(pcidev, 0);
 
-	if ((this_board->pc_EepromChip == NULL)
-		|| (strcmp(this_board->pc_EepromChip, ADDIDATA_9054) != 0)) {
-	   /************************************/
-		/* Test if more that 1 address used */
-	   /************************************/
-
-		if (this_board->i_IorangeBase1 != 0) {
-			dev->iobase = (unsigned long)iobase_main;	/*  DAQ base address... */
-		} else {
-			dev->iobase = (unsigned long)iobase_a;	/*  DAQ base address... */
-		}
-
-		devpriv->iobase = (int) dev->iobase;
-		devpriv->i_IobaseAmcc = (int) iobase_a;	/* AMCC base address... */
-		devpriv->i_IobaseAddon = (int) iobase_addon;	/* ADD ON base address.... */
-		devpriv->i_IobaseReserved = (int) iobase_reserved;
+		devpriv->iobase = dev->iobase;
+		devpriv->i_IobaseAmcc = pci_resource_start(pcidev, 0);
+		devpriv->i_IobaseAddon = pci_resource_start(pcidev, 2);
 	} else {
 		dev->iobase = pci_resource_start(pcidev, 2);
 		devpriv->iobase = pci_resource_start(pcidev, 2);
-		devpriv->i_IobaseReserved = pci_resource_start(pcidev, 3);
 		devpriv->dw_AiBase = ioremap(pci_resource_start(pcidev, 3),
 					     this_board->i_IorangeBase3);
 	}
+	devpriv->i_IobaseReserved = pci_resource_start(pcidev, 3);
 
 	/* Initialize parameters that can be overridden in EEPROM */
 	devpriv->s_EeParameters.i_NbrAiChannel = this_board->i_NbrAiChannel;
-- 
1.7.11

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic