diff options
author | Michael Buesch <mb@bu3sch.de> | 2008-04-03 20:01:12 +0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-04-09 00:44:41 +0400 |
commit | 7b584163979a9fe2ebfdd57a9d64cbe27166ab70 (patch) | |
tree | dfea5d287564ecb38513f71ed21c68d54059c5bb /drivers/net/wireless/b43/main.c | |
parent | 9cfb0009dab6d6b4c5a15c5d74ab60d7a7a7371b (diff) | |
download | linux-7b584163979a9fe2ebfdd57a9d64cbe27166ab70.tar.xz |
b43: Add more N-PHY stuff
This adds some minor stuff for N-PHY support. Nothing special.
Adds Analog switching and some TODOs for RSSI processing.
Just a patch I had floating around for quite some time now.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/main.c')
-rw-r--r-- | drivers/net/wireless/b43/main.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 355f28a2f7f5..3fb4ef816842 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c @@ -46,6 +46,7 @@ #include "main.h" #include "debugfs.h" #include "phy.h" +#include "nphy.h" #include "dma.h" #include "pio.h" #include "sysfs.h" @@ -1019,7 +1020,18 @@ void b43_power_saving_ctl_bits(struct b43_wldev *dev, unsigned int ps_flags) /* Turn the Analog ON/OFF */ static void b43_switch_analog(struct b43_wldev *dev, int on) { - b43_write16(dev, B43_MMIO_PHY0, on ? 0 : 0xF4); + switch (dev->phy.type) { + case B43_PHYTYPE_A: + case B43_PHYTYPE_G: + b43_write16(dev, B43_MMIO_PHY0, on ? 0 : 0xF4); + break; + case B43_PHYTYPE_N: + b43_phy_write(dev, B43_NPHY_AFECTL_OVER, + on ? 0 : 0x7FFF); + break; + default: + B43_WARN_ON(1); + } } void b43_wireless_core_reset(struct b43_wldev *dev, u32 flags) |