On 2012/11/08 05:00 PM, Ian Abbott wrote: > On 2012/11/05 09:36 PM, H Hartley Sweeten wrote: >> This board has a 93c76 eeprom. Knowing this information allows >> simplifying the code that reads the PCI bars to get the iobase >> addresses used in the driver. >> >> Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> >> Cc: Ian Abbott <abbotti@xxxxxxxxx> >> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> >> --- >> drivers/staging/comedi/drivers/addi_apci_1032.c | 20 ++++---------------- >> 1 file changed, 4 insertions(+), 16 deletions(-) >> >> diff --git a/drivers/staging/comedi/drivers/addi_apci_1032.c b/drivers/staging/comedi/drivers/addi_apci_1032.c >> index 70cada4..8ea9fea 100644 >> --- a/drivers/staging/comedi/drivers/addi_apci_1032.c >> +++ b/drivers/staging/comedi/drivers/addi_apci_1032.c >> @@ -88,22 +88,10 @@ static int apci1032_attach_pci(struct comedi_device *dev, >> if (ret) >> return ret; >> >> - 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); >> - >> - 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->dw_AiBase = ioremap(pci_resource_start(pcidev, 3), >> - this_board->i_IorangeBase3); >> - } >> + 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); >> devpriv->i_IobaseReserved = pci_resource_start(pcidev, 3); >> >> /* Initialize parameters that can be overridden in EEPROM */ >> > > You know, I think this simplification actually used the wrong branch of > the `if`. `this_board->pc_EepromChip` is `ADDIDATA_93C76` ("93C76") > which doesn't match `ADDIDATA_9054` ("9054"). Also, > `this_board->i_IorangeBase1` is `APCI1032_ADDRESS_RANGE` (20, but should > probably be rounded up to 32). This implies: > > 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); > > in the original. Never mind. I see you've already dealt with it in "[PATCH] staging: comedi: addi_common.c: fix the test for the PCI bars" (Message-ID: <201211061734.25235.hartleys@xxxxxxxxxxxxxxxxxxx>). -- -=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@xxxxxxxxx> )=- -=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=- _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel