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
-
 
 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);
 
                                 */
                                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);
 
 
        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 */
 
 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
        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);
-       }
 }
 
 
        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);