diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2012-04-28 20:50:41 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-05-16 12:45:26 -0400 |
commit | 00bcda400434039db38fbfd26aef6090129d8c2c (patch) | |
tree | 8895c1e2d03d1e4b5b47b7fe85d1344f49f610f8 /drivers/net/wireless/brcm80211/brcmsmac | |
parent | 270e38d0085e835973e38575b40e9c769e2823c5 (diff) |
brcmsmac: do not access host_pci
The irq number is copied from the PCIe host device to the bcma cores so
just request it using the bcma core device.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Tested-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmsmac')
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c index b8350ff9e8c6..50f92a0b7c41 100644 --- a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c +++ b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c | |||
@@ -769,7 +769,7 @@ void brcms_dpc(unsigned long data) | |||
769 | * Precondition: Since this function is called in brcms_pci_probe() context, | 769 | * Precondition: Since this function is called in brcms_pci_probe() context, |
770 | * no locking is required. | 770 | * no locking is required. |
771 | */ | 771 | */ |
772 | static int brcms_request_fw(struct brcms_info *wl, struct pci_dev *pdev) | 772 | static int brcms_request_fw(struct brcms_info *wl, struct bcma_device *pdev) |
773 | { | 773 | { |
774 | int status; | 774 | int status; |
775 | struct device *device = &pdev->dev; | 775 | struct device *device = &pdev->dev; |
@@ -1021,7 +1021,7 @@ static struct brcms_info *brcms_attach(struct bcma_device *pdev) | |||
1021 | spin_lock_init(&wl->isr_lock); | 1021 | spin_lock_init(&wl->isr_lock); |
1022 | 1022 | ||
1023 | /* prepare ucode */ | 1023 | /* prepare ucode */ |
1024 | if (brcms_request_fw(wl, pdev->bus->host_pci) < 0) { | 1024 | if (brcms_request_fw(wl, pdev) < 0) { |
1025 | wiphy_err(wl->wiphy, "%s: Failed to find firmware usually in " | 1025 | wiphy_err(wl->wiphy, "%s: Failed to find firmware usually in " |
1026 | "%s\n", KBUILD_MODNAME, "/lib/firmware/brcm"); | 1026 | "%s\n", KBUILD_MODNAME, "/lib/firmware/brcm"); |
1027 | brcms_release_fw(wl); | 1027 | brcms_release_fw(wl); |
@@ -1042,12 +1042,12 @@ static struct brcms_info *brcms_attach(struct bcma_device *pdev) | |||
1042 | wl->pub->ieee_hw = hw; | 1042 | wl->pub->ieee_hw = hw; |
1043 | 1043 | ||
1044 | /* register our interrupt handler */ | 1044 | /* register our interrupt handler */ |
1045 | if (request_irq(pdev->bus->host_pci->irq, brcms_isr, | 1045 | if (request_irq(pdev->irq, brcms_isr, |
1046 | IRQF_SHARED, KBUILD_MODNAME, wl)) { | 1046 | IRQF_SHARED, KBUILD_MODNAME, wl)) { |
1047 | wiphy_err(wl->wiphy, "wl%d: request_irq() failed\n", unit); | 1047 | wiphy_err(wl->wiphy, "wl%d: request_irq() failed\n", unit); |
1048 | goto fail; | 1048 | goto fail; |
1049 | } | 1049 | } |
1050 | wl->irq = pdev->bus->host_pci->irq; | 1050 | wl->irq = pdev->irq; |
1051 | 1051 | ||
1052 | /* register module */ | 1052 | /* register module */ |
1053 | brcms_c_module_register(wl->pub, "linux", wl, NULL); | 1053 | brcms_c_module_register(wl->pub, "linux", wl, NULL); |
@@ -1097,7 +1097,7 @@ static int __devinit brcms_bcma_probe(struct bcma_device *pdev) | |||
1097 | 1097 | ||
1098 | dev_info(&pdev->dev, "mfg %x core %x rev %d class %d irq %d\n", | 1098 | dev_info(&pdev->dev, "mfg %x core %x rev %d class %d irq %d\n", |
1099 | pdev->id.manuf, pdev->id.id, pdev->id.rev, pdev->id.class, | 1099 | pdev->id.manuf, pdev->id.id, pdev->id.rev, pdev->id.class, |
1100 | pdev->bus->host_pci->irq); | 1100 | pdev->irq); |
1101 | 1101 | ||
1102 | if ((pdev->id.manuf != BCMA_MANUF_BCM) || | 1102 | if ((pdev->id.manuf != BCMA_MANUF_BCM) || |
1103 | (pdev->id.id != BCMA_CORE_80211)) | 1103 | (pdev->id.id != BCMA_CORE_80211)) |