Browse Source

ath5k: minor rfkill cleanup

Always enable rfkill since the ifdefs in the code is not really worth
the Kconfig option.  Also fix a few code style things, and remove the
usage of the ah_gpio[] array so we can remove it later.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Bob Copeland 16 years ago
parent
commit
a6ae0716e5

+ 0 - 8
drivers/net/wireless/ath/ath5k/Kconfig

@@ -39,11 +39,3 @@ config ATH5K_DEBUG
 
 	  modprobe ath5k debug=0x00000400
 
-config ATH5K_RFKILL
-	bool "Atheros 5xxx rfkill support"
-	depends on ATH5K
-	default y
-	---help---
-	  Include support for enabling/disabling WiFi via rfkill switch
-	  with Atheros 5xxx cards
-

+ 1 - 1
drivers/net/wireless/ath/ath5k/Makefile

@@ -11,6 +11,6 @@ ath5k-y				+= reset.o
 ath5k-y				+= attach.o
 ath5k-y				+= base.o
 ath5k-y				+= led.o
+ath5k-y				+= rfkill.o
 ath5k-$(CONFIG_ATH5K_DEBUG)	+= debug.o
-ath5k-$(CONFIG_ATH5K_RFKILL)	+= rfkill.o
 obj-$(CONFIG_ATH5K)		+= ath5k.o

+ 0 - 5
drivers/net/wireless/ath/ath5k/ath5k.h

@@ -1257,13 +1257,8 @@ extern int ath5k_hw_set_gpio(struct ath5k_hw *ah, u32 gpio, u32 val);
 extern void ath5k_hw_set_gpio_intr(struct ath5k_hw *ah, unsigned int gpio, u32 interrupt_level);
 
 /* rfkill Functions */
-#ifdef CONFIG_ATH5K_RFKILL
 extern void ath5k_rfkill_hw_start(struct ath5k_hw *ah);
 extern void ath5k_rfkill_hw_stop(struct ath5k_hw *ah);
-#else
-static inline void ath5k_rfkill_hw_start(struct ath5k_hw *ah) {}
-static inline void ath5k_rfkill_hw_stop(struct ath5k_hw *ah) {}
-#endif
 
 /* Misc functions */
 int ath5k_hw_set_capabilities(struct ath5k_hw *ah);

+ 1 - 4
drivers/net/wireless/ath/ath5k/base.c

@@ -2530,12 +2530,9 @@ ath5k_intr(int irq, void *dev_id)
 				 */
 				ath5k_hw_update_mib_counters(ah, &sc->ll_stats);
 			}
-#ifdef CONFIG_ATH5K_RFKILL
 			if (status & AR5K_INT_GPIO)
-			{
 				tasklet_schedule(&sc->rf_kill.toggleq);
-			}
-#endif
+
 		}
 	} while (ath5k_hw_is_intr_pending(ah) && --counter > 0);
 

+ 0 - 2
drivers/net/wireless/ath/ath5k/base.h

@@ -177,9 +177,7 @@ struct ath5k_softc {
 	struct tasklet_struct	txtq;		/* tx intr tasklet */
 	struct ath5k_led	tx_led;		/* tx led */
 
-#ifdef CONFIG_ATH5K_RFKILL
 	struct ath5k_rfkill	rf_kill;
-#endif
 
 	spinlock_t		block;		/* protects beacon */
 	struct tasklet_struct	beacontq;	/* beacon intr tasklet */

+ 6 - 6
drivers/net/wireless/ath/ath5k/rfkill.c

@@ -56,10 +56,12 @@ static inline void ath5k_rfkill_enable(struct ath5k_softc *sc)
 static inline void ath5k_rfkill_set_intr(struct ath5k_softc *sc, bool enable)
 {
 	struct ath5k_hw *ah = sc->ah;
+	u32 curval;
+
 	ath5k_hw_set_gpio_input(ah, sc->rf_kill.gpio);
-	ah->ah_gpio[0] = ath5k_hw_get_gpio(ah, sc->rf_kill.gpio);
+	curval = ath5k_hw_get_gpio(ah, sc->rf_kill.gpio);
 	ath5k_hw_set_gpio_intr(ah, sc->rf_kill.gpio, enable ?
-					!!ah->ah_gpio[0] : !ah->ah_gpio[0]);
+					!!curval : !curval);
 }
 
 static bool
@@ -97,9 +99,8 @@ ath5k_rfkill_hw_start(struct ath5k_hw *ah)
 	ath5k_rfkill_disable(sc);
 
 	/* enable interrupt for rfkill switch */
-	if (AR5K_EEPROM_HDR_RFKILL(ah->ah_capabilities.cap_eeprom.ee_header)) {
+	if (AR5K_EEPROM_HDR_RFKILL(ah->ah_capabilities.cap_eeprom.ee_header))
 		ath5k_rfkill_set_intr(sc, true);
-	}
 }
 
 
@@ -109,9 +110,8 @@ ath5k_rfkill_hw_stop(struct ath5k_hw *ah)
 	struct ath5k_softc *sc = ah->ah_sc;
 
 	/* disable interrupt for rfkill switch */
-	if (AR5K_EEPROM_HDR_RFKILL(ah->ah_capabilities.cap_eeprom.ee_header)) {
+	if (AR5K_EEPROM_HDR_RFKILL(ah->ah_capabilities.cap_eeprom.ee_header))
 		ath5k_rfkill_set_intr(sc, false);
-	}
 
 	tasklet_kill(&sc->rf_kill.toggleq);