--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
-@@ -438,26 +438,20 @@ void ath9k_btcoex_timer_pause(struct ath
+@@ -447,26 +447,20 @@ void ath9k_btcoex_timer_pause(struct ath
#define ATH_LED_PIN_DEF 1
#define ATH_LED_PIN_9287 8
/* Antenna diversity/combining */
#define ATH_ANT_RX_CURRENT_SHIFT 4
-@@ -608,15 +602,11 @@ struct ath_softc {
+@@ -618,15 +612,11 @@ struct ath_softc {
struct ath_beacon beacon;
struct ieee80211_supported_band sbands[IEEE80211_NUM_BANDS];
+ struct led_classdev led_cdev;
+#endif
- int beacon_interval;
-
+ struct ath9k_hw_cal_data caldata;
+ int last_rssi;
--- a/drivers/net/wireless/ath/ath9k/gpio.c
+++ b/drivers/net/wireless/ath/ath9k/gpio.c
@@ -20,120 +20,25 @@
/* Rfkill */
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
-@@ -1275,9 +1275,6 @@ static void ath9k_stop(struct ieee80211_
+@@ -1259,9 +1259,6 @@ static void ath9k_stop(struct ieee80211_
- aphy->state = ATH_WIPHY_INACTIVE;
+ mutex_lock(&sc->mutex);
- if (led_blink)
- cancel_delayed_work_sync(&sc->ath_led_blink_work);
cancel_work_sync(&sc->hw_check_work);
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -139,6 +139,21 @@ static struct ieee80211_rate ath9k_legac
+@@ -145,6 +145,21 @@ static struct ieee80211_rate ath9k_legac
RATE(540, 0x0c, 0),
};
static void ath9k_deinit_softc(struct ath_softc *sc);
/*
-@@ -742,6 +757,12 @@ int ath9k_init_device(u16 devid, struct
+@@ -748,6 +763,13 @@ int ath9k_init_device(u16 devid, struct
ath9k_init_txpower_limits(sc);
+#ifdef CONFIG_MAC80211_LEDS
+ /* must be initialized before ieee80211_register_hw */
+ sc->led_cdev.default_trigger = ieee80211_create_tpt_led_trigger(sc->hw,
-+ ath9k_tpt_blink, ARRAY_SIZE(ath9k_tpt_blink));
++ IEEE80211_TPT_LEDTRIG_FL_RADIO, ath9k_tpt_blink,
++ ARRAY_SIZE(ath9k_tpt_blink));
+#endif
+
/* Register with mac80211 */