summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH Hartley Sweeten <hsweeten@visionengravers.com>2013-01-23 12:39:27 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-25 12:00:28 -0800
commit1bdc840224f71768c6bbe41b211f07c0778330c8 (patch)
treeb267c7c52bb6c88f3abb68cdfd8953c39bf87784
parentd5255afb932aca4d64fedfc791fd1142defdd5dd (diff)
staging: comedi: addi_apci_3501: simplify the PCI bar reading
The board supported by this driver has an eeprom connected to an AMCC S5933 PCI controller chip. Knowing this, we can simplify the code that reads the PCI bars to get the iobase addresses used in the driver. Also, since the dw_AiBase is not ioremap'ed, we can remove the iounmap in the detach. 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>
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_3501.c24
1 files changed, 4 insertions, 20 deletions
diff --git a/drivers/staging/comedi/drivers/addi_apci_3501.c b/drivers/staging/comedi/drivers/addi_apci_3501.c
index 0c57d70f7fe1..3f8f26ac4df7 100644
--- a/drivers/staging/comedi/drivers/addi_apci_3501.c
+++ b/drivers/staging/comedi/drivers/addi_apci_3501.c
@@ -189,24 +189,10 @@ static int apci3501_auto_attach(struct comedi_device *dev,
if (ret)
return ret;
- if (!this_board->pc_EepromChip ||
- strcmp(this_board->pc_EepromChip, ADDIDATA_9054)) {
- /* board does not have an eeprom or is not ADDIDATA_9054 */
- if (this_board->i_IorangeBase1)
- dev->iobase = pci_resource_start(pcidev, 1);
- else
- dev->iobase = pci_resource_start(pcidev, 0);
-
- devpriv->iobase = dev->iobase;
- devpriv->i_IobaseAmcc = pci_resource_start(pcidev, 0);
- devpriv->i_IobaseAddon = pci_resource_start(pcidev, 2);
- } else {
- /* board has an ADDIDATA_9054 eeprom */
- dev->iobase = pci_resource_start(pcidev, 2);
- devpriv->iobase = pci_resource_start(pcidev, 2);
- devpriv->dw_AiBase = ioremap(pci_resource_start(pcidev, 3),
- this_board->i_IorangeBase3);
- }
+ dev->iobase = pci_resource_start(pcidev, 1);
+ devpriv->iobase = dev->iobase;
+ devpriv->i_IobaseAmcc = pci_resource_start(pcidev, 0);
+ devpriv->i_IobaseAddon = pci_resource_start(pcidev, 2);
devpriv->i_IobaseReserved = pci_resource_start(pcidev, 3);
/* Initialize parameters that can be overridden in EEPROM */
@@ -309,8 +295,6 @@ static void apci3501_detach(struct comedi_device *dev)
apci3501_reset(dev);
if (dev->irq)
free_irq(dev->irq, dev);
- if (devpriv->dw_AiBase)
- iounmap(devpriv->dw_AiBase);
}
if (pcidev) {
if (dev->iobase)