diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2012-06-30 09:16:21 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-07-10 12:16:57 -0400 |
commit | db00348471b3858d74486e3fbb85922be5340ca6 (patch) | |
tree | 16a7832fdf384849eb76530ae29f60948c7571eb /drivers/net/wireless | |
parent | ae0146f987cd4f4702ce9764a395d3aa1cff9777 (diff) |
brcmsmac: handle non PCI devices in the phy code
Some code in write_{radio,radio}_reg() should just be run if this is a
pci based device. Add the condition again which was removed in commit:
commit 821e4e93172e4f7d5ac1eade04665c3dc5049c4a
Author: Roland Vossen <rvossen@broadcom.com>
Date: Mon Aug 8 15:58:58 2011 +0200
staging: brcm80211: removed unused bus code from softmac
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmsmac/phy/phy_cmn.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_cmn.c b/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_cmn.c index 1703e7d7f828..91937c5025ce 100644 --- a/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_cmn.c +++ b/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_cmn.c | |||
@@ -198,6 +198,8 @@ u16 read_radio_reg(struct brcms_phy *pi, u16 addr) | |||
198 | 198 | ||
199 | void write_radio_reg(struct brcms_phy *pi, u16 addr, u16 val) | 199 | void write_radio_reg(struct brcms_phy *pi, u16 addr, u16 val) |
200 | { | 200 | { |
201 | struct si_info *sii = container_of(pi->sh->sih, struct si_info, pub); | ||
202 | |||
201 | if ((D11REV_GE(pi->sh->corerev, 24)) || | 203 | if ((D11REV_GE(pi->sh->corerev, 24)) || |
202 | (D11REV_IS(pi->sh->corerev, 22) | 204 | (D11REV_IS(pi->sh->corerev, 22) |
203 | && (pi->pubpi.phy_type != PHY_TYPE_SSN))) { | 205 | && (pi->pubpi.phy_type != PHY_TYPE_SSN))) { |
@@ -209,7 +211,8 @@ void write_radio_reg(struct brcms_phy *pi, u16 addr, u16 val) | |||
209 | bcma_write16(pi->d11core, D11REGOFFS(phy4wdatalo), val); | 211 | bcma_write16(pi->d11core, D11REGOFFS(phy4wdatalo), val); |
210 | } | 212 | } |
211 | 213 | ||
212 | if (++pi->phy_wreg >= pi->phy_wreg_limit) { | 214 | if ((sii->icbus->hosttype == BCMA_HOSTTYPE_PCI) && |
215 | (++pi->phy_wreg >= pi->phy_wreg_limit)) { | ||
213 | (void)bcma_read32(pi->d11core, D11REGOFFS(maccontrol)); | 216 | (void)bcma_read32(pi->d11core, D11REGOFFS(maccontrol)); |
214 | pi->phy_wreg = 0; | 217 | pi->phy_wreg = 0; |
215 | } | 218 | } |
@@ -294,8 +297,11 @@ void write_phy_reg(struct brcms_phy *pi, u16 addr, u16 val) | |||
294 | if (addr == 0x72) | 297 | if (addr == 0x72) |
295 | (void)bcma_read16(pi->d11core, D11REGOFFS(phyregdata)); | 298 | (void)bcma_read16(pi->d11core, D11REGOFFS(phyregdata)); |
296 | #else | 299 | #else |
300 | struct si_info *sii = container_of(pi->sh->sih, struct si_info, pub); | ||
301 | |||
297 | bcma_write32(pi->d11core, D11REGOFFS(phyregaddr), addr | (val << 16)); | 302 | bcma_write32(pi->d11core, D11REGOFFS(phyregaddr), addr | (val << 16)); |
298 | if (++pi->phy_wreg >= pi->phy_wreg_limit) { | 303 | if ((sii->icbus->hosttype == BCMA_HOSTTYPE_PCI) && |
304 | (++pi->phy_wreg >= pi->phy_wreg_limit)) { | ||
299 | pi->phy_wreg = 0; | 305 | pi->phy_wreg = 0; |
300 | (void)bcma_read16(pi->d11core, D11REGOFFS(phyversion)); | 306 | (void)bcma_read16(pi->d11core, D11REGOFFS(phyversion)); |
301 | } | 307 | } |