aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2014-01-20 17:29:34 -0500
committerJohannes Berg <johannes.berg@intel.com>2014-02-04 15:48:21 -0500
commit631ad703ba3a585e96acbfd2ac8c0f0fee1ad99b (patch)
tree8c65d36d787a5ef4e2aa6e9ac7306e22349dfcb2
parentc1cf6d4e6f17406c4fd7b0f4fae779fa61666cc3 (diff)
mac80211: make rate control ops const
Change the code to allow making all the rate control ops const, nothing ever needs to change them. Also change all drivers to make use of this and mark the ops const. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--drivers/net/wireless/ath/ath9k/rc.c2
-rw-r--r--drivers/net/wireless/iwlegacy/3945-rs.c2
-rw-r--r--drivers/net/wireless/iwlegacy/4965-rs.c2
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/rs.c3
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/rs.c3
-rw-r--r--drivers/net/wireless/rtlwifi/rc.c2
-rw-r--r--include/net/mac80211.h4
-rw-r--r--net/mac80211/rate.c16
-rw-r--r--net/mac80211/rate.h2
-rw-r--r--net/mac80211/rc80211_minstrel.c2
-rw-r--r--net/mac80211/rc80211_minstrel.h2
-rw-r--r--net/mac80211/rc80211_minstrel_ht.c2
-rw-r--r--net/mac80211/rc80211_pid_algo.c2
13 files changed, 23 insertions, 21 deletions
diff --git a/drivers/net/wireless/ath/ath9k/rc.c b/drivers/net/wireless/ath/ath9k/rc.c
index d829bb62a3fc..1219532e908a 100644
--- a/drivers/net/wireless/ath/ath9k/rc.c
+++ b/drivers/net/wireless/ath/ath9k/rc.c
@@ -1466,7 +1466,7 @@ static void ath_rate_free_sta(void *priv, struct ieee80211_sta *sta,
1466 kfree(rate_priv); 1466 kfree(rate_priv);
1467} 1467}
1468 1468
1469static struct rate_control_ops ath_rate_ops = { 1469static const struct rate_control_ops ath_rate_ops = {
1470 .module = NULL, 1470 .module = NULL,
1471 .name = "ath9k_rate_control", 1471 .name = "ath9k_rate_control",
1472 .tx_status = ath_tx_status, 1472 .tx_status = ath_tx_status,
diff --git a/drivers/net/wireless/iwlegacy/3945-rs.c b/drivers/net/wireless/iwlegacy/3945-rs.c
index 9a45f6f626f6..7088c6a89455 100644
--- a/drivers/net/wireless/iwlegacy/3945-rs.c
+++ b/drivers/net/wireless/iwlegacy/3945-rs.c
@@ -891,7 +891,7 @@ il3945_rs_rate_init_stub(void *il_r, struct ieee80211_supported_band *sband,
891{ 891{
892} 892}
893 893
894static struct rate_control_ops rs_ops = { 894static const struct rate_control_ops rs_ops = {
895 .module = NULL, 895 .module = NULL,
896 .name = RS_NAME, 896 .name = RS_NAME,
897 .tx_status = il3945_rs_tx_status, 897 .tx_status = il3945_rs_tx_status,
diff --git a/drivers/net/wireless/iwlegacy/4965-rs.c b/drivers/net/wireless/iwlegacy/4965-rs.c
index 4d5e33259ca8..cdbfc1d30b98 100644
--- a/drivers/net/wireless/iwlegacy/4965-rs.c
+++ b/drivers/net/wireless/iwlegacy/4965-rs.c
@@ -2807,7 +2807,7 @@ il4965_rs_rate_init_stub(void *il_r, struct ieee80211_supported_band *sband,
2807{ 2807{
2808} 2808}
2809 2809
2810static struct rate_control_ops rs_4965_ops = { 2810static const struct rate_control_ops rs_4965_ops = {
2811 .module = NULL, 2811 .module = NULL,
2812 .name = IL4965_RS_NAME, 2812 .name = IL4965_RS_NAME,
2813 .tx_status = il4965_rs_tx_status, 2813 .tx_status = il4965_rs_tx_status,
diff --git a/drivers/net/wireless/iwlwifi/dvm/rs.c b/drivers/net/wireless/iwlwifi/dvm/rs.c
index 0977d93b529d..c4dded8d8091 100644
--- a/drivers/net/wireless/iwlwifi/dvm/rs.c
+++ b/drivers/net/wireless/iwlwifi/dvm/rs.c
@@ -3319,7 +3319,8 @@ static void rs_rate_init_stub(void *priv_r, struct ieee80211_supported_band *sba
3319 struct ieee80211_sta *sta, void *priv_sta) 3319 struct ieee80211_sta *sta, void *priv_sta)
3320{ 3320{
3321} 3321}
3322static struct rate_control_ops rs_ops = { 3322
3323static const struct rate_control_ops rs_ops = {
3323 .module = NULL, 3324 .module = NULL,
3324 .name = RS_NAME, 3325 .name = RS_NAME,
3325 .tx_status = rs_tx_status, 3326 .tx_status = rs_tx_status,
diff --git a/drivers/net/wireless/iwlwifi/mvm/rs.c b/drivers/net/wireless/iwlwifi/mvm/rs.c
index 6abf74e1351f..22f1953880b6 100644
--- a/drivers/net/wireless/iwlwifi/mvm/rs.c
+++ b/drivers/net/wireless/iwlwifi/mvm/rs.c
@@ -2815,7 +2815,8 @@ static void rs_rate_init_stub(void *mvm_r,
2815 struct ieee80211_sta *sta, void *mvm_sta) 2815 struct ieee80211_sta *sta, void *mvm_sta)
2816{ 2816{
2817} 2817}
2818static struct rate_control_ops rs_mvm_ops = { 2818
2819static const struct rate_control_ops rs_mvm_ops = {
2819 .module = NULL, 2820 .module = NULL,
2820 .name = RS_NAME, 2821 .name = RS_NAME,
2821 .tx_status = rs_tx_status, 2822 .tx_status = rs_tx_status,
diff --git a/drivers/net/wireless/rtlwifi/rc.c b/drivers/net/wireless/rtlwifi/rc.c
index a98acefb8c06..1503d9e5bc9f 100644
--- a/drivers/net/wireless/rtlwifi/rc.c
+++ b/drivers/net/wireless/rtlwifi/rc.c
@@ -260,7 +260,7 @@ static void rtl_rate_free_sta(void *rtlpriv,
260 kfree(rate_priv); 260 kfree(rate_priv);
261} 261}
262 262
263static struct rate_control_ops rtl_rate_ops = { 263static const struct rate_control_ops rtl_rate_ops = {
264 .module = NULL, 264 .module = NULL,
265 .name = "rtl_rc", 265 .name = "rtl_rc",
266 .alloc = rtl_rate_alloc, 266 .alloc = rtl_rate_alloc,
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index df1004be7ba5..0c2676e2a1f8 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -4555,8 +4555,8 @@ int rate_control_set_rates(struct ieee80211_hw *hw,
4555 struct ieee80211_sta *pubsta, 4555 struct ieee80211_sta *pubsta,
4556 struct ieee80211_sta_rates *rates); 4556 struct ieee80211_sta_rates *rates);
4557 4557
4558int ieee80211_rate_control_register(struct rate_control_ops *ops); 4558int ieee80211_rate_control_register(const struct rate_control_ops *ops);
4559void ieee80211_rate_control_unregister(struct rate_control_ops *ops); 4559void ieee80211_rate_control_unregister(const struct rate_control_ops *ops);
4560 4560
4561static inline bool 4561static inline bool
4562conf_is_ht20(struct ieee80211_conf *conf) 4562conf_is_ht20(struct ieee80211_conf *conf)
diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c
index 22b223f13c9f..255b59e616d0 100644
--- a/net/mac80211/rate.c
+++ b/net/mac80211/rate.c
@@ -18,7 +18,7 @@
18 18
19struct rate_control_alg { 19struct rate_control_alg {
20 struct list_head list; 20 struct list_head list;
21 struct rate_control_ops *ops; 21 const struct rate_control_ops *ops;
22}; 22};
23 23
24static LIST_HEAD(rate_ctrl_algs); 24static LIST_HEAD(rate_ctrl_algs);
@@ -29,7 +29,7 @@ module_param(ieee80211_default_rc_algo, charp, 0644);
29MODULE_PARM_DESC(ieee80211_default_rc_algo, 29MODULE_PARM_DESC(ieee80211_default_rc_algo,
30 "Default rate control algorithm for mac80211 to use"); 30 "Default rate control algorithm for mac80211 to use");
31 31
32int ieee80211_rate_control_register(struct rate_control_ops *ops) 32int ieee80211_rate_control_register(const struct rate_control_ops *ops)
33{ 33{
34 struct rate_control_alg *alg; 34 struct rate_control_alg *alg;
35 35
@@ -60,7 +60,7 @@ int ieee80211_rate_control_register(struct rate_control_ops *ops)
60} 60}
61EXPORT_SYMBOL(ieee80211_rate_control_register); 61EXPORT_SYMBOL(ieee80211_rate_control_register);
62 62
63void ieee80211_rate_control_unregister(struct rate_control_ops *ops) 63void ieee80211_rate_control_unregister(const struct rate_control_ops *ops)
64{ 64{
65 struct rate_control_alg *alg; 65 struct rate_control_alg *alg;
66 66
@@ -76,11 +76,11 @@ void ieee80211_rate_control_unregister(struct rate_control_ops *ops)
76} 76}
77EXPORT_SYMBOL(ieee80211_rate_control_unregister); 77EXPORT_SYMBOL(ieee80211_rate_control_unregister);
78 78
79static struct rate_control_ops * 79static const struct rate_control_ops *
80ieee80211_try_rate_control_ops_get(const char *name) 80ieee80211_try_rate_control_ops_get(const char *name)
81{ 81{
82 struct rate_control_alg *alg; 82 struct rate_control_alg *alg;
83 struct rate_control_ops *ops = NULL; 83 const struct rate_control_ops *ops = NULL;
84 84
85 if (!name) 85 if (!name)
86 return NULL; 86 return NULL;
@@ -98,10 +98,10 @@ ieee80211_try_rate_control_ops_get(const char *name)
98} 98}
99 99
100/* Get the rate control algorithm. */ 100/* Get the rate control algorithm. */
101static struct rate_control_ops * 101static const struct rate_control_ops *
102ieee80211_rate_control_ops_get(const char *name) 102ieee80211_rate_control_ops_get(const char *name)
103{ 103{
104 struct rate_control_ops *ops; 104 const struct rate_control_ops *ops;
105 const char *alg_name; 105 const char *alg_name;
106 106
107 kparam_block_sysfs_write(ieee80211_default_rc_algo); 107 kparam_block_sysfs_write(ieee80211_default_rc_algo);
@@ -127,7 +127,7 @@ ieee80211_rate_control_ops_get(const char *name)
127 return ops; 127 return ops;
128} 128}
129 129
130static void ieee80211_rate_control_ops_put(struct rate_control_ops *ops) 130static void ieee80211_rate_control_ops_put(const struct rate_control_ops *ops)
131{ 131{
132 module_put(ops->module); 132 module_put(ops->module);
133} 133}
diff --git a/net/mac80211/rate.h b/net/mac80211/rate.h
index b95e16c07081..9aa2a1190a86 100644
--- a/net/mac80211/rate.h
+++ b/net/mac80211/rate.h
@@ -21,7 +21,7 @@
21 21
22struct rate_control_ref { 22struct rate_control_ref {
23 struct ieee80211_local *local; 23 struct ieee80211_local *local;
24 struct rate_control_ops *ops; 24 const struct rate_control_ops *ops;
25 void *priv; 25 void *priv;
26}; 26};
27 27
diff --git a/net/mac80211/rc80211_minstrel.c b/net/mac80211/rc80211_minstrel.c
index f3d88b0c054c..26fd94fa0aed 100644
--- a/net/mac80211/rc80211_minstrel.c
+++ b/net/mac80211/rc80211_minstrel.c
@@ -657,7 +657,7 @@ minstrel_free(void *priv)
657 kfree(priv); 657 kfree(priv);
658} 658}
659 659
660struct rate_control_ops mac80211_minstrel = { 660const struct rate_control_ops mac80211_minstrel = {
661 .name = "minstrel", 661 .name = "minstrel",
662 .tx_status = minstrel_tx_status, 662 .tx_status = minstrel_tx_status,
663 .get_rate = minstrel_get_rate, 663 .get_rate = minstrel_get_rate,
diff --git a/net/mac80211/rc80211_minstrel.h b/net/mac80211/rc80211_minstrel.h
index f4301f4b2e41..046d1bd598a8 100644
--- a/net/mac80211/rc80211_minstrel.h
+++ b/net/mac80211/rc80211_minstrel.h
@@ -123,7 +123,7 @@ struct minstrel_debugfs_info {
123 char buf[]; 123 char buf[];
124}; 124};
125 125
126extern struct rate_control_ops mac80211_minstrel; 126extern const struct rate_control_ops mac80211_minstrel;
127void minstrel_add_sta_debugfs(void *priv, void *priv_sta, struct dentry *dir); 127void minstrel_add_sta_debugfs(void *priv, void *priv_sta, struct dentry *dir);
128void minstrel_remove_sta_debugfs(void *priv, void *priv_sta); 128void minstrel_remove_sta_debugfs(void *priv, void *priv_sta);
129 129
diff --git a/net/mac80211/rc80211_minstrel_ht.c b/net/mac80211/rc80211_minstrel_ht.c
index c1b5b73c5b91..a6d6cc5c3db4 100644
--- a/net/mac80211/rc80211_minstrel_ht.c
+++ b/net/mac80211/rc80211_minstrel_ht.c
@@ -1031,7 +1031,7 @@ minstrel_ht_free(void *priv)
1031 mac80211_minstrel.free(priv); 1031 mac80211_minstrel.free(priv);
1032} 1032}
1033 1033
1034static struct rate_control_ops mac80211_minstrel_ht = { 1034static const struct rate_control_ops mac80211_minstrel_ht = {
1035 .name = "minstrel_ht", 1035 .name = "minstrel_ht",
1036 .tx_status = minstrel_ht_tx_status, 1036 .tx_status = minstrel_ht_tx_status,
1037 .get_rate = minstrel_ht_get_rate, 1037 .get_rate = minstrel_ht_get_rate,
diff --git a/net/mac80211/rc80211_pid_algo.c b/net/mac80211/rc80211_pid_algo.c
index 958fad07b54c..d0da2a70fe68 100644
--- a/net/mac80211/rc80211_pid_algo.c
+++ b/net/mac80211/rc80211_pid_algo.c
@@ -452,7 +452,7 @@ static void rate_control_pid_free_sta(void *priv, struct ieee80211_sta *sta,
452 kfree(priv_sta); 452 kfree(priv_sta);
453} 453}
454 454
455static struct rate_control_ops mac80211_rcpid = { 455static const struct rate_control_ops mac80211_rcpid = {
456 .name = "pid", 456 .name = "pid",
457 .tx_status = rate_control_pid_tx_status, 457 .tx_status = rate_control_pid_tx_status,
458 .get_rate = rate_control_pid_get_rate, 458 .get_rate = rate_control_pid_get_rate,