ath9k: Remove ath_rate_softc

Move the hw rate tables to ath_softc, and access them directly.
tx_triglevel_max is global, move it to ath_rate_node.
Now that ath_rate_softc is gone, rate control attach becomes simpler.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/drivers/net/wireless/ath9k/rc.h b/drivers/net/wireless/ath9k/rc.h
index 07319c6..30248de 100644
--- a/drivers/net/wireless/ath9k/rc.h
+++ b/drivers/net/wireless/ath9k/rc.h
@@ -199,15 +199,6 @@
 	u8 rs_rates[ATH_RATE_MAX];
 };
 
-/* per-device state */
-struct ath_rate_softc {
-	/* phy tables that contain rate control data */
-	const void *hw_rate_table[ATH9K_MODE_MAX];
-
-	/* -1 or index of fixed rate */
-	int fixedrix;
-};
-
 /**
  * struct ath_rate_node - Rate Control priv data
  * @state: RC state
@@ -261,6 +252,7 @@
 	u32 per_down_time;
 	u32 probe_interval;
 	u32 prev_data_rix;
+	u32 tx_triglevel_max;
 	struct ath_tx_ratectrl_state state[MAX_TX_RATE_TBL];
 	struct ath_rateset neg_rates;
 	struct ath_rateset neg_ht_rates;
@@ -276,8 +268,7 @@
 	u8 min_rate;
 };
 
-struct ath_rate_softc *ath_rate_attach(struct ath_softc *sch);
-void ath_rate_detach(struct ath_rate_softc *asc);
+void ath_rate_attach(struct ath_softc *sc);
 u8 ath_rate_findrateix(struct ath_softc *sc, u8 dot11_rate);
 int ath_rate_control_register(void);
 void ath_rate_control_unregister(void);