diff options
| author | Larry Finger <Larry.Finger@lwfinger.net> | 2007-11-09 17:57:18 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2008-01-28 18:04:42 -0500 |
| commit | 95de2841aad971867851b59c0c5253ecc2e19832 (patch) | |
| tree | df6a79322a1f7b8992d38ca7d02502e0ded31b3f | |
| parent | 458414b2e3d9dd7ee4510d18c119a7ccd3b43ec5 (diff) | |
b43: Convert to use of the new SPROM structure
The b43 driver is modified to use the new SPROM structure.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
| -rw-r--r-- | drivers/net/wireless/b43/leds.c | 8 | ||||
| -rw-r--r-- | drivers/net/wireless/b43/lo.c | 6 | ||||
| -rw-r--r-- | drivers/net/wireless/b43/main.c | 32 | ||||
| -rw-r--r-- | drivers/net/wireless/b43/phy.c | 59 | ||||
| -rw-r--r-- | drivers/net/wireless/b43/wa.c | 4 | ||||
| -rw-r--r-- | drivers/net/wireless/b43/xmit.c | 2 |
6 files changed, 55 insertions, 56 deletions
diff --git a/drivers/net/wireless/b43/leds.c b/drivers/net/wireless/b43/leds.c index e04eba1f9308..4b590d8c65ff 100644 --- a/drivers/net/wireless/b43/leds.c +++ b/drivers/net/wireless/b43/leds.c | |||
| @@ -190,10 +190,10 @@ void b43_leds_init(struct b43_wldev *dev) | |||
| 190 | enum b43_led_behaviour behaviour; | 190 | enum b43_led_behaviour behaviour; |
| 191 | bool activelow; | 191 | bool activelow; |
| 192 | 192 | ||
| 193 | sprom[0] = bus->sprom.r1.gpio0; | 193 | sprom[0] = bus->sprom.gpio0; |
| 194 | sprom[1] = bus->sprom.r1.gpio1; | 194 | sprom[1] = bus->sprom.gpio1; |
| 195 | sprom[2] = bus->sprom.r1.gpio2; | 195 | sprom[2] = bus->sprom.gpio2; |
| 196 | sprom[3] = bus->sprom.r1.gpio3; | 196 | sprom[3] = bus->sprom.gpio3; |
| 197 | 197 | ||
| 198 | for (i = 0; i < 4; i++) { | 198 | for (i = 0; i < 4; i++) { |
| 199 | if (sprom[i] == 0xFF) { | 199 | if (sprom[i] == 0xFF) { |
diff --git a/drivers/net/wireless/b43/lo.c b/drivers/net/wireless/b43/lo.c index 0a50fd584c19..88f35e67e226 100644 --- a/drivers/net/wireless/b43/lo.c +++ b/drivers/net/wireless/b43/lo.c | |||
| @@ -264,8 +264,8 @@ static u16 lo_measure_feedthrough(struct b43_wldev *dev, | |||
| 264 | rfover |= pga; | 264 | rfover |= pga; |
| 265 | rfover |= lna; | 265 | rfover |= lna; |
| 266 | rfover |= trsw_rx; | 266 | rfover |= trsw_rx; |
| 267 | if ((dev->dev->bus->sprom.r1.boardflags_lo & B43_BFL_EXTLNA) && | 267 | if ((dev->dev->bus->sprom.boardflags_lo & B43_BFL_EXTLNA) |
| 268 | phy->rev > 6) | 268 | && phy->rev > 6) |
| 269 | rfover |= B43_PHY_RFOVERVAL_EXTLNA; | 269 | rfover |= B43_PHY_RFOVERVAL_EXTLNA; |
| 270 | 270 | ||
| 271 | b43_phy_write(dev, B43_PHY_PGACTL, 0xE300); | 271 | b43_phy_write(dev, B43_PHY_PGACTL, 0xE300); |
| @@ -634,7 +634,7 @@ static void lo_measure_setup(struct b43_wldev *dev, | |||
| 634 | & 0xFFFC); | 634 | & 0xFFFC); |
| 635 | if (phy->type == B43_PHYTYPE_G) { | 635 | if (phy->type == B43_PHYTYPE_G) { |
| 636 | if ((phy->rev >= 7) && | 636 | if ((phy->rev >= 7) && |
| 637 | (sprom->r1.boardflags_lo & B43_BFL_EXTLNA)) { | 637 | (sprom->boardflags_lo & B43_BFL_EXTLNA)) { |
| 638 | b43_phy_write(dev, B43_PHY_RFOVER, 0x933); | 638 | b43_phy_write(dev, B43_PHY_RFOVER, 0x933); |
| 639 | } else { | 639 | } else { |
| 640 | b43_phy_write(dev, B43_PHY_RFOVER, 0x133); | 640 | b43_phy_write(dev, B43_PHY_RFOVER, 0x133); |
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 72321d802f1d..16b413d11d19 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
| @@ -1924,7 +1924,7 @@ static int b43_gpio_init(struct b43_wldev *dev) | |||
| 1924 | mask |= 0x0180; | 1924 | mask |= 0x0180; |
| 1925 | set |= 0x0180; | 1925 | set |= 0x0180; |
| 1926 | } | 1926 | } |
| 1927 | if (dev->dev->bus->sprom.r1.boardflags_lo & B43_BFL_PACTRL) { | 1927 | if (dev->dev->bus->sprom.boardflags_lo & B43_BFL_PACTRL) { |
| 1928 | b43_write16(dev, B43_MMIO_GPIO_MASK, | 1928 | b43_write16(dev, B43_MMIO_GPIO_MASK, |
| 1929 | b43_read16(dev, B43_MMIO_GPIO_MASK) | 1929 | b43_read16(dev, B43_MMIO_GPIO_MASK) |
| 1930 | | 0x0200); | 1930 | | 0x0200); |
| @@ -2289,7 +2289,7 @@ static void b43_periodic_every60sec(struct b43_wldev *dev) | |||
| 2289 | 2289 | ||
| 2290 | if (!b43_has_hardware_pctl(phy)) | 2290 | if (!b43_has_hardware_pctl(phy)) |
| 2291 | b43_lo_g_ctl_mark_all_unused(dev); | 2291 | b43_lo_g_ctl_mark_all_unused(dev); |
| 2292 | if (dev->dev->bus->sprom.r1.boardflags_lo & B43_BFL_RSSI) { | 2292 | if (dev->dev->bus->sprom.boardflags_lo & B43_BFL_RSSI) { |
| 2293 | b43_mac_suspend(dev); | 2293 | b43_mac_suspend(dev); |
| 2294 | b43_calc_nrssi_slope(dev); | 2294 | b43_calc_nrssi_slope(dev); |
| 2295 | if ((phy->radio_ver == 0x2050) && (phy->radio_rev == 8)) { | 2295 | if ((phy->radio_ver == 0x2050) && (phy->radio_rev == 8)) { |
| @@ -3208,13 +3208,13 @@ static void b43_bluetooth_coext_enable(struct b43_wldev *dev) | |||
| 3208 | struct ssb_sprom *sprom = &dev->dev->bus->sprom; | 3208 | struct ssb_sprom *sprom = &dev->dev->bus->sprom; |
| 3209 | u32 hf; | 3209 | u32 hf; |
| 3210 | 3210 | ||
| 3211 | if (!(sprom->r1.boardflags_lo & B43_BFL_BTCOEXIST)) | 3211 | if (!(sprom->boardflags_lo & B43_BFL_BTCOEXIST)) |
| 3212 | return; | 3212 | return; |
| 3213 | if (dev->phy.type != B43_PHYTYPE_B && !dev->phy.gmode) | 3213 | if (dev->phy.type != B43_PHYTYPE_B && !dev->phy.gmode) |
| 3214 | return; | 3214 | return; |
| 3215 | 3215 | ||
| 3216 | hf = b43_hf_read(dev); | 3216 | hf = b43_hf_read(dev); |
| 3217 | if (sprom->r1.boardflags_lo & B43_BFL_BTCMOD) | 3217 | if (sprom->boardflags_lo & B43_BFL_BTCMOD) |
| 3218 | hf |= B43_HF_BTCOEXALT; | 3218 | hf |= B43_HF_BTCOEXALT; |
| 3219 | else | 3219 | else |
| 3220 | hf |= B43_HF_BTCOEX; | 3220 | hf |= B43_HF_BTCOEX; |
| @@ -3345,7 +3345,7 @@ static int b43_wireless_core_init(struct b43_wldev *dev) | |||
| 3345 | hf |= B43_HF_SYMW; | 3345 | hf |= B43_HF_SYMW; |
| 3346 | if (phy->rev == 1) | 3346 | if (phy->rev == 1) |
| 3347 | hf |= B43_HF_GDCW; | 3347 | hf |= B43_HF_GDCW; |
| 3348 | if (sprom->r1.boardflags_lo & B43_BFL_PACTRL) | 3348 | if (sprom->boardflags_lo & B43_BFL_PACTRL) |
| 3349 | hf |= B43_HF_OFDMPABOOST; | 3349 | hf |= B43_HF_OFDMPABOOST; |
| 3350 | } else if (phy->type == B43_PHYTYPE_B) { | 3350 | } else if (phy->type == B43_PHYTYPE_B) { |
| 3351 | hf |= B43_HF_SYMW; | 3351 | hf |= B43_HF_SYMW; |
| @@ -3862,20 +3862,20 @@ static void b43_sprom_fixup(struct ssb_bus *bus) | |||
| 3862 | /* boardflags workarounds */ | 3862 | /* boardflags workarounds */ |
| 3863 | if (bus->boardinfo.vendor == SSB_BOARDVENDOR_DELL && | 3863 | if (bus->boardinfo.vendor == SSB_BOARDVENDOR_DELL && |
| 3864 | bus->chip_id == 0x4301 && bus->boardinfo.rev == 0x74) | 3864 | bus->chip_id == 0x4301 && bus->boardinfo.rev == 0x74) |
| 3865 | bus->sprom.r1.boardflags_lo |= B43_BFL_BTCOEXIST; | 3865 | bus->sprom.boardflags_lo |= B43_BFL_BTCOEXIST; |
| 3866 | if (bus->boardinfo.vendor == PCI_VENDOR_ID_APPLE && | 3866 | if (bus->boardinfo.vendor == PCI_VENDOR_ID_APPLE && |
| 3867 | bus->boardinfo.type == 0x4E && bus->boardinfo.rev > 0x40) | 3867 | bus->boardinfo.type == 0x4E && bus->boardinfo.rev > 0x40) |
| 3868 | bus->sprom.r1.boardflags_lo |= B43_BFL_PACTRL; | 3868 | bus->sprom.boardflags_lo |= B43_BFL_PACTRL; |
| 3869 | 3869 | ||
| 3870 | /* Handle case when gain is not set in sprom */ | 3870 | /* Handle case when gain is not set in sprom */ |
| 3871 | if (bus->sprom.r1.antenna_gain_a == 0xFF) | 3871 | if (bus->sprom.antenna_gain_a == 0xFF) |
| 3872 | bus->sprom.r1.antenna_gain_a = 2; | 3872 | bus->sprom.antenna_gain_a = 2; |
| 3873 | if (bus->sprom.r1.antenna_gain_bg == 0xFF) | 3873 | if (bus->sprom.antenna_gain_bg == 0xFF) |
| 3874 | bus->sprom.r1.antenna_gain_bg = 2; | 3874 | bus->sprom.antenna_gain_bg = 2; |
| 3875 | 3875 | ||
| 3876 | /* Convert Antennagain values to Q5.2 */ | 3876 | /* Convert Antennagain values to Q5.2 */ |
| 3877 | bus->sprom.r1.antenna_gain_a <<= 2; | 3877 | bus->sprom.antenna_gain_a <<= 2; |
| 3878 | bus->sprom.r1.antenna_gain_bg <<= 2; | 3878 | bus->sprom.antenna_gain_bg <<= 2; |
| 3879 | } | 3879 | } |
| 3880 | 3880 | ||
| 3881 | static void b43_wireless_exit(struct ssb_device *dev, struct b43_wl *wl) | 3881 | static void b43_wireless_exit(struct ssb_device *dev, struct b43_wl *wl) |
| @@ -3908,10 +3908,10 @@ static int b43_wireless_init(struct ssb_device *dev) | |||
| 3908 | hw->max_noise = -110; | 3908 | hw->max_noise = -110; |
| 3909 | hw->queues = 1; /* FIXME: hardware has more queues */ | 3909 | hw->queues = 1; /* FIXME: hardware has more queues */ |
| 3910 | SET_IEEE80211_DEV(hw, dev->dev); | 3910 | SET_IEEE80211_DEV(hw, dev->dev); |
| 3911 | if (is_valid_ether_addr(sprom->r1.et1mac)) | 3911 | if (is_valid_ether_addr(sprom->et1mac)) |
| 3912 | SET_IEEE80211_PERM_ADDR(hw, sprom->r1.et1mac); | 3912 | SET_IEEE80211_PERM_ADDR(hw, sprom->et1mac); |
| 3913 | else | 3913 | else |
| 3914 | SET_IEEE80211_PERM_ADDR(hw, sprom->r1.il0mac); | 3914 | SET_IEEE80211_PERM_ADDR(hw, sprom->il0mac); |
| 3915 | 3915 | ||
| 3916 | /* Get and initialize struct b43_wl */ | 3916 | /* Get and initialize struct b43_wl */ |
| 3917 | wl = hw_to_b43_wl(hw); | 3917 | wl = hw_to_b43_wl(hw); |
diff --git a/drivers/net/wireless/b43/phy.c b/drivers/net/wireless/b43/phy.c index 7eb71d73663c..facc01c25f90 100644 --- a/drivers/net/wireless/b43/phy.c +++ b/drivers/net/wireless/b43/phy.c | |||
| @@ -903,7 +903,7 @@ static void b43_phy_inita(struct b43_wldev *dev) | |||
| 903 | } | 903 | } |
| 904 | 904 | ||
| 905 | if ((phy->type == B43_PHYTYPE_G) && | 905 | if ((phy->type == B43_PHYTYPE_G) && |
| 906 | (dev->dev->bus->sprom.r1.boardflags_lo & B43_BFL_PACTRL)) { | 906 | (dev->dev->bus->sprom.boardflags_lo & B43_BFL_PACTRL)) { |
| 907 | b43_phy_write(dev, B43_PHY_OFDM(0x6E), | 907 | b43_phy_write(dev, B43_PHY_OFDM(0x6E), |
| 908 | (b43_phy_read(dev, B43_PHY_OFDM(0x6E)) | 908 | (b43_phy_read(dev, B43_PHY_OFDM(0x6E)) |
| 909 | & 0xE000) | 0x3CF); | 909 | & 0xE000) | 0x3CF); |
| @@ -1006,7 +1006,7 @@ static void b43_phy_initb4(struct b43_wldev *dev) | |||
| 1006 | if (phy->radio_ver == 0x2050) | 1006 | if (phy->radio_ver == 0x2050) |
| 1007 | b43_phy_write(dev, 0x002A, 0x88C2); | 1007 | b43_phy_write(dev, 0x002A, 0x88C2); |
| 1008 | b43_set_txpower_g(dev, &phy->bbatt, &phy->rfatt, phy->tx_control); | 1008 | b43_set_txpower_g(dev, &phy->bbatt, &phy->rfatt, phy->tx_control); |
| 1009 | if (dev->dev->bus->sprom.r1.boardflags_lo & B43_BFL_RSSI) { | 1009 | if (dev->dev->bus->sprom.boardflags_lo & B43_BFL_RSSI) { |
| 1010 | b43_calc_nrssi_slope(dev); | 1010 | b43_calc_nrssi_slope(dev); |
| 1011 | b43_calc_nrssi_threshold(dev); | 1011 | |
