[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