Commit e864e2c8 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: addi-data: remove io_addr array from card data

The io_addr array in the card data holds the PCI bar base addresses
returned by pci_resource_start(). Remove this array and just use
pci_resource_start() where needed in i_ADDI_Attach().

This also allows getting rid of i_pci_card_data() since it now
does nothing.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e6fee79e
...@@ -201,7 +201,6 @@ struct pcilst_struct { ...@@ -201,7 +201,6 @@ struct pcilst_struct {
unsigned char pci_bus; unsigned char pci_bus;
unsigned char pci_slot; unsigned char pci_slot;
unsigned char pci_func; unsigned char pci_func;
resource_size_t io_addr[5];
unsigned int irq; unsigned int irq;
}; };
...@@ -230,8 +229,6 @@ struct pcilst_struct *ptr_select_and_alloc_pci_card(unsigned short vendor_id, ...@@ -230,8 +229,6 @@ struct pcilst_struct *ptr_select_and_alloc_pci_card(unsigned short vendor_id,
int pci_card_alloc(struct pcilst_struct *amcc, int master); int pci_card_alloc(struct pcilst_struct *amcc, int master);
int i_pci_card_free(struct pcilst_struct *amcc); int i_pci_card_free(struct pcilst_struct *amcc);
int i_pci_card_data(struct pcilst_struct *amcc,
resource_size_t *io_addr);
/****************************************************************************/ /****************************************************************************/
...@@ -240,7 +237,6 @@ void v_pci_card_list_init(unsigned short pci_vendor) ...@@ -240,7 +237,6 @@ void v_pci_card_list_init(unsigned short pci_vendor)
{ {
struct pci_dev *pcidev = NULL; struct pci_dev *pcidev = NULL;
struct pcilst_struct *amcc, *last; struct pcilst_struct *amcc, *last;
int i;
int i_Count = 0; int i_Count = 0;
amcc_devices = NULL; amcc_devices = NULL;
last = NULL; last = NULL;
...@@ -265,12 +261,6 @@ void v_pci_card_list_init(unsigned short pci_vendor) ...@@ -265,12 +261,6 @@ void v_pci_card_list_init(unsigned short pci_vendor)
amcc->pci_bus = pcidev->bus->number; amcc->pci_bus = pcidev->bus->number;
amcc->pci_slot = PCI_SLOT(pcidev->devfn); amcc->pci_slot = PCI_SLOT(pcidev->devfn);
amcc->pci_func = PCI_FUNC(pcidev->devfn); amcc->pci_func = PCI_FUNC(pcidev->devfn);
/* Note: resources may be invalid if PCI device
* not enabled, but they are corrected in
* pci_card_alloc. */
for (i = 0; i < 5; i++)
amcc->io_addr[i] =
pci_resource_start(pcidev, i);
amcc->irq = pcidev->irq; amcc->irq = pcidev->irq;
} }
...@@ -345,8 +335,6 @@ int i_find_free_pci_card_by_position(unsigned short vendor_id, ...@@ -345,8 +335,6 @@ int i_find_free_pci_card_by_position(unsigned short vendor_id,
/* mark card as used */ /* mark card as used */
int pci_card_alloc(struct pcilst_struct *amcc, int master) int pci_card_alloc(struct pcilst_struct *amcc, int master)
{ {
int i;
if (!amcc) if (!amcc)
return -1; return -1;
...@@ -354,9 +342,6 @@ int pci_card_alloc(struct pcilst_struct *amcc, int master) ...@@ -354,9 +342,6 @@ int pci_card_alloc(struct pcilst_struct *amcc, int master)
return 1; return 1;
if (comedi_pci_enable(amcc->pcidev, "addi_amcc_s5933")) if (comedi_pci_enable(amcc->pcidev, "addi_amcc_s5933"))
return -1; return -1;
/* Resources will be accurate now. */
for (i = 0; i < 5; i++)
amcc->io_addr[i] = pci_resource_start(amcc->pcidev, i);
if (master) if (master)
pci_set_master(amcc->pcidev); pci_set_master(amcc->pcidev);
amcc->used = 1; amcc->used = 1;
...@@ -378,20 +363,6 @@ int i_pci_card_free(struct pcilst_struct *amcc) ...@@ -378,20 +363,6 @@ int i_pci_card_free(struct pcilst_struct *amcc)
return 0; return 0;
} }
/****************************************************************************/
/* return all card information for driver */
int i_pci_card_data(struct pcilst_struct *amcc,
resource_size_t *io_addr)
{
int i;
if (!amcc)
return -1;
for (i = 0; i < 5; i++)
io_addr[i] = amcc->io_addr[i];
return 0;
}
/****************************************************************************/ /****************************************************************************/
/* select and alloc card */ /* select and alloc card */
struct pcilst_struct *ptr_select_and_alloc_pci_card(unsigned short vendor_id, struct pcilst_struct *ptr_select_and_alloc_pci_card(unsigned short vendor_id,
......
...@@ -91,7 +91,6 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it) ...@@ -91,7 +91,6 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it)
struct comedi_subdevice *s; struct comedi_subdevice *s;
int ret, pages, i, n_subdevices; int ret, pages, i, n_subdevices;
unsigned int dw_Dummy; unsigned int dw_Dummy;
resource_size_t io_addr[5];
resource_size_t iobase_a, iobase_main, iobase_addon, iobase_reserved; resource_size_t iobase_a, iobase_main, iobase_addon, iobase_reserved;
struct pcilst_struct *card = NULL; struct pcilst_struct *card = NULL;
int i_Dma = 0; int i_Dma = 0;
...@@ -120,15 +119,10 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it) ...@@ -120,15 +119,10 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it)
devpriv->allocated = 1; devpriv->allocated = 1;
if ((i_pci_card_data(card, &io_addr[0])) < 0) { iobase_a = pci_resource_start(card->pcidev, 0);
i_pci_card_free(card); iobase_main = pci_resource_start(card->pcidev, 1);
return -EIO; iobase_addon = pci_resource_start(card->pcidev, 2);
} iobase_reserved = pci_resource_start(card->pcidev, 3);
iobase_a = io_addr[0];
iobase_main = io_addr[1];
iobase_addon = io_addr[2];
iobase_reserved = io_addr[3];
if ((this_board->pc_EepromChip == NULL) if ((this_board->pc_EepromChip == NULL)
|| (strcmp(this_board->pc_EepromChip, ADDIDATA_9054) != 0)) { || (strcmp(this_board->pc_EepromChip, ADDIDATA_9054) != 0)) {
...@@ -150,11 +144,11 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it) ...@@ -150,11 +144,11 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it)
devpriv->i_IobaseReserved = (int) iobase_reserved; devpriv->i_IobaseReserved = (int) iobase_reserved;
} else { } else {
dev->board_name = this_board->pc_DriverName; dev->board_name = this_board->pc_DriverName;
dev->iobase = (unsigned long)io_addr[2]; dev->iobase = pci_resource_start(card->pcidev, 2);
devpriv->amcc = card; devpriv->amcc = card;
devpriv->iobase = (int) io_addr[2]; devpriv->iobase = pci_resource_start(card->pcidev, 2);
devpriv->i_IobaseReserved = (int) io_addr[3]; devpriv->i_IobaseReserved = pci_resource_start(card->pcidev, 3);
devpriv->dw_AiBase = ioremap(io_addr[3], devpriv->dw_AiBase = ioremap(pci_resource_start(card->pcidev, 3),
this_board->i_IorangeBase3); this_board->i_IorangeBase3);
} }
...@@ -196,7 +190,7 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it) ...@@ -196,7 +190,7 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it)
dw_Dummy = inl(devpriv->i_IobaseAmcc + 0x38); dw_Dummy = inl(devpriv->i_IobaseAmcc + 0x38);
outl(dw_Dummy | 0x2000, devpriv->i_IobaseAmcc + 0x38); outl(dw_Dummy | 0x2000, devpriv->i_IobaseAmcc + 0x38);
} }
addi_eeprom_read_info(dev, io_addr[0]); addi_eeprom_read_info(dev, pci_resource_start(card->pcidev, 0));
} }
if (it->options[2] > 0) { if (it->options[2] > 0) {
...@@ -242,7 +236,7 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it) ...@@ -242,7 +236,7 @@ static int i_ADDI_Attach(struct comedi_device *dev, struct comedi_devconfig *it)
i_ADDI_AttachPCI1710(dev); i_ADDI_AttachPCI1710(dev);
/* save base address */ /* save base address */
devpriv->s_BoardInfos.ui_Address = io_addr[2]; devpriv->s_BoardInfos.ui_Address = pci_resource_start(card->pcidev, 2);
#endif #endif
} else { } else {
n_subdevices = 7; n_subdevices = 7;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment