staging: comedi: addi_apci_1516: simplify the PCI bar reading
The boards supported by this driver have an eeprom attached to a S5920 PCI controller chip. Knowing this information allows simplifying the code that reads the PCI bars to get the iobase address. 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>
This commit is contained in:
parent
56587a06ad
commit
a3003b4133
1 changed files with 4 additions and 18 deletions
|
@ -99,24 +99,10 @@ static int __devinit apci1516_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 */
|
||||
|
|
Loading…
Reference in a new issue