b43-dev.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [RFC][PATCH] b43: rfkill: use HI enabled bit for all devices
@ 2010-11-17 19:56 Rafał Miłecki
  2010-11-17 20:17 ` Michael Büsch
  0 siblings, 1 reply; 5+ messages in thread
From: Rafał Miłecki @ 2010-11-17 19:56 UTC (permalink / raw)
  To: linux-wireless, John W. Linville; +Cc: b43-dev, Rafał Miłecki

Devices which use LO enabled bit are covered by b43legacy

Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
---
Is this alright to use inline for this? Is my WARN_ON OK?
---
 drivers/net/wireless/b43/main.c   |    2 ++
 drivers/net/wireless/b43/rfkill.c |   21 +++------------------
 drivers/net/wireless/b43/rfkill.h |    4 ++--
 3 files changed, 7 insertions(+), 20 deletions(-)

diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index fa48803..9b71bb1 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -4527,6 +4527,8 @@ static int b43_op_start(struct ieee80211_hw *hw)
 		}
 	}
 
+	/* we don't expect older devices which need other RFKILL check */
+	B43_WARN_ON(dev->dev->id.revision < 3);
 	/* XXX: only do if device doesn't support rfkill irq */
 	wiphy_rfkill_start_polling(hw->wiphy);
 
diff --git a/drivers/net/wireless/b43/rfkill.c b/drivers/net/wireless/b43/rfkill.c
index 78016ae..012ed2f 100644
--- a/drivers/net/wireless/b43/rfkill.c
+++ b/drivers/net/wireless/b43/rfkill.c
@@ -26,25 +26,10 @@
 
 
 /* Returns TRUE, if the radio is enabled in hardware. */
-bool b43_is_hw_radio_enabled(struct b43_wldev *dev)
+inline bool b43_is_hw_radio_enabled(struct b43_wldev *dev)
 {
-	if (dev->phy.rev >= 3 || dev->phy.type == B43_PHYTYPE_LP) {
-		if (!(b43_read32(dev, B43_MMIO_RADIO_HWENABLED_HI)
-		      & B43_MMIO_RADIO_HWENABLED_HI_MASK))
-			return 1;
-	} else {
-		/* To prevent CPU fault on PPC, do not read a register
-		 * unless the interface is started; however, on resume
-		 * for hibernation, this routine is entered early. When
-		 * that happens, unconditionally return TRUE.
-		 */
-		if (b43_status(dev) < B43_STAT_STARTED)
-			return 1;
-		if (b43_read16(dev, B43_MMIO_RADIO_HWENABLED_LO)
-		    & B43_MMIO_RADIO_HWENABLED_LO_MASK)
-			return 1;
-	}
-	return 0;
+	return !(b43_read32(dev, B43_MMIO_RADIO_HWENABLED_HI)
+		& B43_MMIO_RADIO_HWENABLED_HI_MASK);
 }
 
 /* The poll callback for the hardware button. */
diff --git a/drivers/net/wireless/b43/rfkill.h b/drivers/net/wireless/b43/rfkill.h
index f046c3c..7aa8a5a 100644
--- a/drivers/net/wireless/b43/rfkill.h
+++ b/drivers/net/wireless/b43/rfkill.h
@@ -4,8 +4,8 @@
 struct ieee80211_hw;
 struct b43_wldev;
 
-void b43_rfkill_poll(struct ieee80211_hw *hw);
+inline bool b43_is_hw_radio_enabled(struct b43_wldev *dev);
 
-bool b43_is_hw_radio_enabled(struct b43_wldev *dev);
+void b43_rfkill_poll(struct ieee80211_hw *hw);
 
 #endif /* B43_RFKILL_H_ */
-- 
1.6.0.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-11-17 21:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-17 19:56 [RFC][PATCH] b43: rfkill: use HI enabled bit for all devices Rafał Miłecki
2010-11-17 20:17 ` Michael Büsch
2010-11-17 20:23   ` Rafał Miłecki
2010-11-17 20:29     ` Michael Büsch
2010-11-17 21:02       ` Rafał Miłecki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).