[PATCH 4/6] staging: comedi: addi_apci_1564: simplify the PCI bar reading and don't read the unused bars

Chase Southwood chase.southwood at gmail.com
Tue Apr 29 08:22:25 UTC 2014


Hartley and Ian,

Yes, I had a feeling I should have gone with what was present, but my
desire to follow the documentation I wasn't too familiar with won out
:P

I'll spin a new revision of this patchset ASAP with this changed back
and all of my bad titles (oof...) fixed as well and I'll make sure to
be more careful in the future.

Thanks your all of the assistance and patience,
Chase

On Mon, Apr 28, 2014 at 1:09 PM, Hartley Sweeten
<HartleyS at visionengravers.com> wrote:
> On Saturday, April 26, 2014 6:37 PM, Chase Southwood wrote:
>> This driver only uses PCI bar 1 (devpriv->i_IobaseAmcc), and PCI bar 2
>> (dev->iobase) doon't bother reading the unused PCI bars.
>>
>> Signed-off-by: Chase Southwood <chase.southwood at gmail.com>
>> Cc: Ian Abbott <abbotti at mev.co.uk>
>> Cc: H Hartley Sweeten <hsweeten at visionengravers.com>
>> ---
>>
>> Hartley,
>>
>> As far as I can tell from reading the I/O Mapping you sent me, these bar
>> numbers are correct, but it seems a bit odd, so please offer correction
>> if I am interpreting the document incorrectly.
>>
>> Thanks,
>> Chase
>>
>>  drivers/staging/comedi/drivers/addi_apci_1564.c | 11 ++---------
>>  1 file changed, 2 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/staging/comedi/drivers/addi_apci_1564.c b/drivers/staging/comedi/drivers/addi_apci_1564.c
>> index fe42f9d..7e42d47 100644
>> --- a/drivers/staging/comedi/drivers/addi_apci_1564.c
>> +++ b/drivers/staging/comedi/drivers/addi_apci_1564.c
>> @@ -65,15 +65,8 @@ static int apci1564_auto_attach(struct comedi_device *dev,
>>       if (ret)
>>               return ret;
>>
>> -     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);
>> -     devpriv->i_IobaseReserved = pci_resource_start(pcidev, 3);
>> +     dev->iobase = pci_resource_start(pcidev, 2);
>> +     devpriv->i_IobaseAmcc = pci_resource_start(pcidev, 1);
>>
>>       /* Initialize parameters that can be overridden in EEPROM */
>>       devpriv->s_EeParameters.i_NbrAiChannel = this_board->i_NbrAiChannel;
>
> The document I sent you from ADDI-DATA does show that the I/O map revision can
> be determined by reading the "Header EEPROM" at BAR1 + 0x00. This seems to
> verify Ian's comment about earlier versions of the board having a different mapping.
>
> As Ian already mentioned. It's probably best to leave the PCI bar resource mapping
> as it currently is. If anyone reports an issue it can be addressed later.
>
> Regards,
> Hartley
>


More information about the devel mailing list