diff options
-rw-r--r-- | net/mac80211/Kconfig | 31 | ||||
-rw-r--r-- | net/mac80211/Makefile | 18 | ||||
-rw-r--r-- | net/mac80211/mesh_pathtbl.c | 1 | ||||
-rw-r--r-- | net/mac80211/rate.h | 4 | ||||
-rw-r--r-- | net/mac80211/rc80211_pid_algo.c | 10 |
5 files changed, 14 insertions, 50 deletions
diff --git a/net/mac80211/Kconfig b/net/mac80211/Kconfig index 594bc7319ca6..661d3c291482 100644 --- a/net/mac80211/Kconfig +++ b/net/mac80211/Kconfig | |||
@@ -27,6 +27,14 @@ comment "QoS/HT support needs CONFIG_NETDEVICES_MULTIQUEUE" | |||
27 | menu "Rate control algorithm selection" | 27 | menu "Rate control algorithm selection" |
28 | depends on MAC80211 != n | 28 | depends on MAC80211 != n |
29 | 29 | ||
30 | config MAC80211_RC_PID | ||
31 | bool "PID controller based rate control algorithm" if EMBEDDED | ||
32 | default y | ||
33 | ---help--- | ||
34 | This option enables a TX rate control algorithm for | ||
35 | mac80211 that uses a PID controller to select the TX | ||
36 | rate. | ||
37 | |||
30 | choice | 38 | choice |
31 | prompt "Default rate control algorithm" | 39 | prompt "Default rate control algorithm" |
32 | default MAC80211_RC_DEFAULT_PID | 40 | default MAC80211_RC_DEFAULT_PID |
@@ -38,40 +46,19 @@ choice | |||
38 | 46 | ||
39 | config MAC80211_RC_DEFAULT_PID | 47 | config MAC80211_RC_DEFAULT_PID |
40 | bool "PID controller based rate control algorithm" | 48 | bool "PID controller based rate control algorithm" |
41 | select MAC80211_RC_PID | 49 | depends on MAC80211_RC_PID |
42 | ---help--- | 50 | ---help--- |
43 | Select the PID controller based rate control as the | 51 | Select the PID controller based rate control as the |
44 | default rate control algorithm. You should choose | 52 | default rate control algorithm. You should choose |
45 | this unless you know what you are doing. | 53 | this unless you know what you are doing. |
46 | 54 | ||
47 | config MAC80211_RC_DEFAULT_NONE | ||
48 | bool "No default algorithm" | ||
49 | depends on EMBEDDED | ||
50 | help | ||
51 | Selecting this option will select no default algorithm | ||
52 | and allow you to not build any. Do not choose this | ||
53 | option unless you know your driver comes with another | ||
54 | suitable algorithm. | ||
55 | endchoice | 55 | endchoice |
56 | 56 | ||
57 | comment "Selecting 'y' for an algorithm will" | ||
58 | comment "build the algorithm into mac80211." | ||
59 | |||
60 | config MAC80211_RC_DEFAULT | 57 | config MAC80211_RC_DEFAULT |
61 | string | 58 | string |
62 | default "pid" if MAC80211_RC_DEFAULT_PID | 59 | default "pid" if MAC80211_RC_DEFAULT_PID |
63 | default "" | 60 | default "" |
64 | 61 | ||
65 | config MAC80211_RC_PID | ||
66 | tristate "PID controller based rate control algorithm" | ||
67 | ---help--- | ||
68 | This option enables a TX rate control algorithm for | ||
69 | mac80211 that uses a PID controller to select the TX | ||
70 | rate. | ||
71 | |||
72 | Say Y or M unless you're sure you want to use a | ||
73 | different rate control algorithm. | ||
74 | |||
75 | endmenu | 62 | endmenu |
76 | 63 | ||
77 | config MAC80211_MESH | 64 | config MAC80211_MESH |
diff --git a/net/mac80211/Makefile b/net/mac80211/Makefile index 1d2a4e010e5c..fa47438e338f 100644 --- a/net/mac80211/Makefile +++ b/net/mac80211/Makefile | |||
@@ -1,13 +1,5 @@ | |||
1 | obj-$(CONFIG_MAC80211) += mac80211.o | 1 | obj-$(CONFIG_MAC80211) += mac80211.o |
2 | 2 | ||
3 | # objects for PID algorithm | ||
4 | rc80211_pid-y := rc80211_pid_algo.o | ||
5 | rc80211_pid-$(CONFIG_MAC80211_DEBUGFS) += rc80211_pid_debugfs.o | ||
6 | |||
7 | # build helper for PID algorithm | ||
8 | rc-pid-y := $(rc80211_pid-y) | ||
9 | rc-pid-m := rc80211_pid.o | ||
10 | |||
11 | # mac80211 objects | 3 | # mac80211 objects |
12 | mac80211-y := \ | 4 | mac80211-y := \ |
13 | main.o \ | 5 | main.o \ |
@@ -42,10 +34,8 @@ mac80211-$(CONFIG_MAC80211_MESH) += \ | |||
42 | mesh_plink.o \ | 34 | mesh_plink.o \ |
43 | mesh_hwmp.o | 35 | mesh_hwmp.o |
44 | 36 | ||
37 | # objects for PID algorithm | ||
38 | rc80211_pid-y := rc80211_pid_algo.o | ||
39 | rc80211_pid-$(CONFIG_MAC80211_DEBUGFS) += rc80211_pid_debugfs.o | ||
45 | 40 | ||
46 | # Build rate control algorithm(s) | 41 | mac80211-$(CONFIG_MAC80211_RC_PID) += $(rc80211_pid-y) |
47 | CFLAGS_rc80211_pid_algo.o += -DRC80211_PID_COMPILE | ||
48 | mac80211-$(CONFIG_MAC80211_RC_PID) += $(rc-pid-$(CONFIG_MAC80211_RC_PID)) | ||
49 | |||
50 | # Modular rate algorithms are assigned to mac80211-m - make separate modules | ||
51 | obj-m += $(mac80211-m) | ||
diff --git a/net/mac80211/mesh_pathtbl.c b/net/mac80211/mesh_pathtbl.c index 947b13b40726..5f88a2e6ee50 100644 --- a/net/mac80211/mesh_pathtbl.c +++ b/net/mac80211/mesh_pathtbl.c | |||
@@ -262,7 +262,6 @@ void mesh_plink_broken(struct sta_info *sta) | |||
262 | } | 262 | } |
263 | rcu_read_unlock(); | 263 | rcu_read_unlock(); |
264 | } | 264 | } |
265 | EXPORT_SYMBOL(mesh_plink_broken); | ||
266 | 265 | ||
267 | /** | 266 | /** |
268 | * mesh_path_flush_by_nexthop - Deletes mesh paths if their next hop matches | 267 | * mesh_path_flush_by_nexthop - Deletes mesh paths if their next hop matches |
diff --git a/net/mac80211/rate.h b/net/mac80211/rate.h index 0ed9c8a2f56f..ede7ab56f65b 100644 --- a/net/mac80211/rate.h +++ b/net/mac80211/rate.h | |||
@@ -162,9 +162,7 @@ void rate_control_deinitialize(struct ieee80211_local *local); | |||
162 | 162 | ||
163 | 163 | ||
164 | /* Rate control algorithms */ | 164 | /* Rate control algorithms */ |
165 | #if defined(RC80211_PID_COMPILE) || \ | 165 | #ifdef CONFIG_MAC80211_RC_PID |
166 | (defined(CONFIG_MAC80211_RC_PID) && \ | ||
167 | !defined(CONFIG_MAC80211_RC_PID_MODULE)) | ||
168 | extern int rc80211_pid_init(void); | 166 | extern int rc80211_pid_init(void); |
169 | extern void rc80211_pid_exit(void); | 167 | extern void rc80211_pid_exit(void); |
170 | #else | 168 | #else |
diff --git a/net/mac80211/rc80211_pid_algo.c b/net/mac80211/rc80211_pid_algo.c index e8945413e4a2..62388f8e9024 100644 --- a/net/mac80211/rc80211_pid_algo.c +++ b/net/mac80211/rc80211_pid_algo.c | |||
@@ -540,11 +540,6 @@ static struct rate_control_ops mac80211_rcpid = { | |||
540 | #endif | 540 | #endif |
541 | }; | 541 | }; |
542 | 542 | ||
543 | MODULE_DESCRIPTION("PID controller based rate control algorithm"); | ||
544 | MODULE_AUTHOR("Stefano Brivio"); | ||
545 | MODULE_AUTHOR("Mattias Nissler"); | ||
546 | MODULE_LICENSE("GPL"); | ||
547 | |||
548 | int __init rc80211_pid_init(void) | 543 | int __init rc80211_pid_init(void) |
549 | { | 544 | { |
550 | return ieee80211_rate_control_register(&mac80211_rcpid); | 545 | return ieee80211_rate_control_register(&mac80211_rcpid); |
@@ -554,8 +549,3 @@ void rc80211_pid_exit(void) | |||
554 | { | 549 | { |
555 | ieee80211_rate_control_unregister(&mac80211_rcpid); | 550 | ieee80211_rate_control_unregister(&mac80211_rcpid); |
556 | } | 551 | } |
557 | |||
558 | #ifdef CONFIG_MAC80211_RC_PID_MODULE | ||
559 | module_init(rc80211_pid_init); | ||
560 | module_exit(rc80211_pid_exit); | ||
561 | #endif | ||