提交 05155c83 编写于 作者: M Michael Buesch 提交者: David S. Miller

[B43]: Change loglevel of radio-enable message.

Also cleanup the code a bit and remove the inline.
Signed-off-by: NMichael Buesch <mb@bu3sch.de>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 6b9bafec
......@@ -176,6 +176,7 @@ void b43_leds_update(struct b43_wldev *dev, int activity)
unsigned long interval = 0;
u16 ledctl;
unsigned long flags;
bool radio_enabled = (phy->radio_on && dev->radio_hw_enable);
spin_lock_irqsave(&dev->wl->leds_lock, flags);
ledctl = b43_read16(dev, B43_MMIO_GPIO_CONTROL);
......@@ -195,21 +196,19 @@ void b43_leds_update(struct b43_wldev *dev, int activity)
turn_on = activity;
break;
case B43_LED_RADIO_ALL:
turn_on = phy->radio_on && b43_is_hw_radio_enabled(dev);
turn_on = radio_enabled;
break;
case B43_LED_RADIO_A:
turn_on = (phy->radio_on && b43_is_hw_radio_enabled(dev)
&& phy->type == B43_PHYTYPE_A);
turn_on = (radio_enabled && phy->type == B43_PHYTYPE_A);
break;
case B43_LED_RADIO_B:
turn_on = (phy->radio_on && b43_is_hw_radio_enabled(dev)
&& (phy->type == B43_PHYTYPE_B
|| phy->type == B43_PHYTYPE_G));
turn_on = (radio_enabled &&
(phy->type == B43_PHYTYPE_B
|| phy->type == B43_PHYTYPE_G));
break;
case B43_LED_MODE_BG:
if (phy->type == B43_PHYTYPE_G
&& b43_is_hw_radio_enabled(dev)
&& 1 /*FIXME: using G rates. */ )
&& radio_enabled)
turn_on = 1;
break;
case B43_LED_TRANSFER:
......
......@@ -2175,6 +2175,21 @@ static void b43_mgmtframe_txantenna(struct b43_wldev *dev, int antenna)
b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_PRPHYCTL, tmp);
}
/* Returns TRUE, if the radio is enabled in hardware. */
static bool b43_is_hw_radio_enabled(struct b43_wldev *dev)
{
if (dev->phy.rev >= 3) {
if (!(b43_read32(dev, B43_MMIO_RADIO_HWENABLED_HI)
& B43_MMIO_RADIO_HWENABLED_HI_MASK))
return 1;
} else {
if (b43_read16(dev, B43_MMIO_RADIO_HWENABLED_LO)
& B43_MMIO_RADIO_HWENABLED_LO_MASK)
return 1;
}
return 0;
}
/* This is the opposite of b43_chip_init() */
static void b43_chip_exit(struct b43_wldev *dev)
{
......@@ -2214,7 +2229,7 @@ static int b43_chip_init(struct b43_wldev *dev)
b43_radio_turn_on(dev);
dev->radio_hw_enable = b43_is_hw_radio_enabled(dev);
b43dbg(dev->wl, "Radio %s by hardware\n",
(dev->radio_hw_enable == 0) ? "disabled" : "enabled");
dev->radio_hw_enable ? "enabled" : "disabled");
b43_write16(dev, 0x03E6, 0x0000);
err = b43_phy_init(dev);
......@@ -2373,14 +2388,14 @@ static void b43_periodic_every15sec(struct b43_wldev *dev)
static void b43_periodic_every1sec(struct b43_wldev *dev)
{
int radio_hw_enable;
bool radio_hw_enable;
/* check if radio hardware enabled status changed */
radio_hw_enable = b43_is_hw_radio_enabled(dev);
if (unlikely(dev->radio_hw_enable != radio_hw_enable)) {
dev->radio_hw_enable = radio_hw_enable;
b43dbg(dev->wl, "Radio hardware status changed to %s\n",
(radio_hw_enable == 0) ? "disabled" : "enabled");
b43info(dev->wl, "Radio hardware status changed to %s\n",
radio_hw_enable ? "ENABLED" : "DISABLED");
b43_leds_update(dev, 0);
}
}
......
......@@ -96,23 +96,6 @@ static inline int b43_is_ofdm_rate(int rate)
return !b43_is_cck_rate(rate);
}
static inline int b43_is_hw_radio_enabled(struct b43_wldev *dev)
{
/* function to return state of hardware enable of radio
* returns 0 if radio disabled, 1 if radio enabled
*/
struct b43_phy *phy = &dev->phy;
if (phy->rev >= 3)
return ((b43_read32(dev, B43_MMIO_RADIO_HWENABLED_HI)
& B43_MMIO_RADIO_HWENABLED_HI_MASK)
== 0) ? 1 : 0;
else
return ((b43_read16(dev, B43_MMIO_RADIO_HWENABLED_LO)
& B43_MMIO_RADIO_HWENABLED_LO_MASK)
== 0) ? 0 : 1;
}
void b43_tsf_read(struct b43_wldev *dev, u64 * tsf);
void b43_tsf_write(struct b43_wldev *dev, u64 tsf);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册