Commit 12a37687 authored by Jiri Slaby's avatar Jiri Slaby Committed by John W. Linville

[PATCH] pci: bcm43xx avoid pci_find_device

bcm43xx avoid pci_find_device

Change pci_find_device to safer pci_get_device with support for more
devices.
Signed-off-by: Jiri Slaby's avatarJiri Slaby <jirislaby@gmail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 91769e7d
......@@ -2146,6 +2146,13 @@ static int bcm43xx_upload_initvals(struct bcm43xx_private *bcm)
return err;
}
#ifdef CONFIG_BCM947XX
static struct pci_device_id bcm43xx_47xx_ids[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4324) },
{ 0 }
};
#endif
static int bcm43xx_initialize_irq(struct bcm43xx_private *bcm)
{
int res;
......@@ -2155,11 +2162,15 @@ static int bcm43xx_initialize_irq(struct bcm43xx_private *bcm)
bcm->irq = bcm->pci_dev->irq;
#ifdef CONFIG_BCM947XX
if (bcm->pci_dev->bus->number == 0) {
struct pci_dev *d = NULL;
/* FIXME: we will probably need more device IDs here... */
d = pci_find_device(PCI_VENDOR_ID_BROADCOM, 0x4324, NULL);
if (d != NULL) {
bcm->irq = d->irq;
struct pci_dev *d;
struct pci_device_id *id;
for (id = bcm43xx_47xx_ids; id->vendor; id++) {
d = pci_get_device(id->vendor, id->device, NULL);
if (d != NULL) {
bcm->irq = d->irq;
pci_dev_put(d);
break;
}
}
}
#endif
......
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