ath9k: Revamp wireless mode usage

Use a single enum for managing modes, store supported modes by
the HW in a bitmask.
Register legacy rates with mac80211 only at init.

Signed-off-by: Sujith Manoharan <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 8f6c28e..71aef9c 100644
--- a/drivers/net/wireless/ath9k/rc.h
+++ b/drivers/net/wireless/ath9k/rc.h
@@ -247,7 +247,7 @@
 /* per-device state */
 struct ath_rate_softc {
 	/* phy tables that contain rate control data */
-	const void *hw_rate_table[WIRELESS_MODE_MAX];
+	const void *hw_rate_table[ATH9K_MODE_MAX];
 	int fixedrix;	/* -1 or index of fixed rate */
 };