Browse Source

kernel: disable wireless extensions only when needed

They are only needed by a few very old drivers

Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau 3 years ago
parent
commit
6eeb5d4564

+ 16 - 0
config/Config-kernel.in

@@ -1108,6 +1108,22 @@ config KERNEL_NET_L3_MASTER_DEV
 	  This module provides glue between core networking code and device
 	  This module provides glue between core networking code and device
 	  drivers to support L3 master devices like VRF.
 	  drivers to support L3 master devices like VRF.
 
 
+config KERNEL_WIRELESS_EXT
+	def_bool n
+
+config KERNEL_WEXT_CORE
+	def_bool KERNEL_WIRELESS_EXT
+
+config KERNEL_WEXT_PRIV
+	def_bool KERNEL_WIRELESS_EXT
+
+config KERNEL_WEXT_PROC
+	def_bool KERNEL_WIRELESS_EXT
+
+config KERNEL_WEXT_SPY
+	def_bool KERNEL_WIRELESS_EXT
+
+
 #
 #
 # NFS related symbols
 # NFS related symbols
 #
 #

+ 1 - 1
package/kernel/broadcom-wl/Makefile

@@ -40,7 +40,7 @@ endef
 define KernelPackage/brcm-wl/Default
 define KernelPackage/brcm-wl/Default
   $(call Package/broadcom-wl/Default)
   $(call Package/broadcom-wl/Default)
   SECTION:=kernel
   SECTION:=kernel
-  DEPENDS:=@(TARGET_bcm47xx||TARGET_bcm63xx) +wireless-tools
+  DEPENDS:=@(TARGET_bcm47xx||TARGET_bcm63xx) +wireless-tools +@KERNEL_WIRELESS_EXT
   TITLE:=Kernel driver for BCM43xx chipsets
   TITLE:=Kernel driver for BCM43xx chipsets
   FILES:=$(PKG_BUILD_DIR)/driver$(1)/wl.ko $(PKG_BUILD_DIR)/glue/wl_glue.ko
   FILES:=$(PKG_BUILD_DIR)/driver$(1)/wl.ko $(PKG_BUILD_DIR)/glue/wl_glue.ko
   AUTOLOAD:=$(call AutoProbe,wl)
   AUTOLOAD:=$(call AutoProbe,wl)

+ 0 - 1
package/kernel/mac80211/Makefile

@@ -56,7 +56,6 @@ config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
 
 
 config-y:= \
 config-y:= \
 	WLAN \
 	WLAN \
-	CFG80211_WEXT \
 	CFG80211_CERTIFICATION_ONUS \
 	CFG80211_CERTIFICATION_ONUS \
 	MAC80211_RC_MINSTREL \
 	MAC80211_RC_MINSTREL \
 	MAC80211_RC_MINSTREL_HT \
 	MAC80211_RC_MINSTREL_HT \

+ 1 - 0
package/network/services/hostapd/Config.in

@@ -65,6 +65,7 @@ config WPA_WOLFSSL
 
 
 config DRIVER_WEXT_SUPPORT
 config DRIVER_WEXT_SUPPORT
 	bool
 	bool
+	select KERNEL_WIRELESS_EXT
 	default n
 	default n
 
 
 config DRIVER_11N_SUPPORT
 config DRIVER_11N_SUPPORT

+ 5 - 5
target/linux/generic/config-5.10

@@ -7085,15 +7085,15 @@ CONFIG_WATCHDOG_OPEN_TIMEOUT=0
 # CONFIG_WD80x3 is not set
 # CONFIG_WD80x3 is not set
 # CONFIG_WDAT_WDT is not set
 # CONFIG_WDAT_WDT is not set
 # CONFIG_WDTPCI is not set
 # CONFIG_WDTPCI is not set
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PRIV=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
+# CONFIG_WEXT_CORE is not set
+# CONFIG_WEXT_PRIV is not set
+# CONFIG_WEXT_PROC is not set
+# CONFIG_WEXT_SPY is not set
 CONFIG_WILINK_PLATFORM_DATA=y
 CONFIG_WILINK_PLATFORM_DATA=y
 # CONFIG_WIMAX is not set
 # CONFIG_WIMAX is not set
 # CONFIG_WIREGUARD is not set
 # CONFIG_WIREGUARD is not set
 CONFIG_WIRELESS=y
 CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
+# CONFIG_WIRELESS_EXT is not set
 # CONFIG_WIRELESS_WDS is not set
 # CONFIG_WIRELESS_WDS is not set
 # CONFIG_WIZNET_W5100 is not set
 # CONFIG_WIZNET_W5100 is not set
 # CONFIG_WIZNET_W5300 is not set
 # CONFIG_WIZNET_W5300 is not set

+ 5 - 5
target/linux/generic/config-5.15

@@ -7419,15 +7419,15 @@ CONFIG_WATCHDOG_OPEN_TIMEOUT=0
 # CONFIG_WDAT_WDT is not set
 # CONFIG_WDAT_WDT is not set
 # CONFIG_WDTPCI is not set
 # CONFIG_WDTPCI is not set
 # CONFIG_WERROR is not set
 # CONFIG_WERROR is not set
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PRIV=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
+# CONFIG_WEXT_CORE is not set
+# CONFIG_WEXT_PRIV is not set
+# CONFIG_WEXT_PROC is not set
+# CONFIG_WEXT_SPY is not set
 CONFIG_WILINK_PLATFORM_DATA=y
 CONFIG_WILINK_PLATFORM_DATA=y
 # CONFIG_WIMAX is not set
 # CONFIG_WIMAX is not set
 # CONFIG_WIREGUARD is not set
 # CONFIG_WIREGUARD is not set
 CONFIG_WIRELESS=y
 CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
+# CONFIG_WIRELESS_EXT is not set
 # CONFIG_WIRELESS_WDS is not set
 # CONFIG_WIRELESS_WDS is not set
 # CONFIG_WIZNET_W5100 is not set
 # CONFIG_WIZNET_W5100 is not set
 # CONFIG_WIZNET_W5300 is not set
 # CONFIG_WIZNET_W5300 is not set