summaryrefslogtreecommitdiffstats
path: root/net/mac80211/Kconfig
diff options
context:
space:
mode:
authorAdrian Bunk <bunk@kernel.org>2008-06-26 13:38:13 +0300
committerJohn W. Linville <linville@tuxdriver.com>2008-06-30 17:37:34 -0400
commite5f5e7339cd95d07937e6f8081b46fba86c742a7 (patch)
tree9526b93d4272d978349b825d90e10a5710d08f00 /net/mac80211/Kconfig
parentbf998f686430107fb8790ef6713f8e352a3deede (diff)
downloadkernel-crypto-e5f5e7339cd95d07937e6f8081b46fba86c742a7.tar.gz
kernel-crypto-e5f5e7339cd95d07937e6f8081b46fba86c742a7.tar.xz
kernel-crypto-e5f5e7339cd95d07937e6f8081b46fba86c742a7.zip
build algorithms into the mac80211 module
The old infrastructure was: - the default algorithm is built into mac80211 - other algorithms get into their own modules The implementation of this complicated scheme was horrible (just look at net/mac80211/Makefile), and anyone adding a new algorithm would most likely not get it right at his first attempt. This patch therefore builds all enabled algorithms into the mac80211 module. The user interface for the rate control algorithms changes as follows: - first the user can choose which algorithms to enable (currently only MAC80211_RC_PID is available) - if more than one algorithm is enabled (currently not possible since only one algorithm is present) the user then chooses the default one Note: - MAC80211_RC_PID is always enables for CONFIG_EMBEDDED=n Technical changes: - all selected algorithms get into the mac80211 module - net/mac80211/Makefile can now become much less complicated - support for rc80211_pid_algo.c being modular is no longer required - this includes unexporting mesh_plink_broken Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/Kconfig')
-rw-r--r--net/mac80211/Kconfig31
1 files changed, 9 insertions, 22 deletions
diff --git a/net/mac80211/Kconfig b/net/mac80211/Kconfig
index 594bc7319ca..661d3c29148 100644
--- a/net/mac80211/Kconfig
+++ b/net/mac80211/Kconfig
@@ -27,6 +27,14 @@ comment "QoS/HT support needs CONFIG_NETDEVICES_MULTIQUEUE"
menu "Rate control algorithm selection"
depends on MAC80211 != n
+config MAC80211_RC_PID
+ bool "PID controller based rate control algorithm" if EMBEDDED
+ default y
+ ---help---
+ This option enables a TX rate control algorithm for
+ mac80211 that uses a PID controller to select the TX
+ rate.
+
choice
prompt "Default rate control algorithm"
default MAC80211_RC_DEFAULT_PID
@@ -38,40 +46,19 @@ choice
config MAC80211_RC_DEFAULT_PID
bool "PID controller based rate control algorithm"
- select MAC80211_RC_PID
+ depends on MAC80211_RC_PID
---help---
Select the PID controller based rate control as the
default rate control algorithm. You should choose
this unless you know what you are doing.
-config MAC80211_RC_DEFAULT_NONE
- bool "No default algorithm"
- depends on EMBEDDED
- help
- Selecting this option will select no default algorithm
- and allow you to not build any. Do not choose this
- option unless you know your driver comes with another
- suitable algorithm.
endchoice
-comment "Selecting 'y' for an algorithm will"
-comment "build the algorithm into mac80211."
-
config MAC80211_RC_DEFAULT
string
default "pid" if MAC80211_RC_DEFAULT_PID
default ""
-config MAC80211_RC_PID
- tristate "PID controller based rate control algorithm"
- ---help---
- This option enables a TX rate control algorithm for
- mac80211 that uses a PID controller to select the TX
- rate.
-
- Say Y or M unless you're sure you want to use a
- different rate control algorithm.
-
endmenu
config MAC80211_MESH