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);