Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

wimax: move out to staging

There are no known users of this driver as of October 2020, and it will
be removed unless someone turns out to still need it in future releases.

According to https://en.wikipedia.org/wiki/List_of_WiMAX_networks, there
have been many public wimax networks, but it appears that many of these
have migrated to LTE or discontinued their service altogether.
As most PCs and phones lack WiMAX hardware support, the remaining
networks tend to use standalone routers. These almost certainly
run Linux, but not a modern kernel or the mainline wimax driver stack.

NetworkManager appears to have dropped userspace support in 2015
https://bugzilla.gnome.org/show_bug.cgi?id=747846, the
www.linuxwimax.org
site had already shut down earlier.

WiMax is apparently still being deployed on airport campus networks
("AeroMACS"), but in a frequency band that was not supported by the old
Intel 2400m (used in Sandy Bridge laptops and earlier), which is the
only driver using the kernel's wimax stack.

Move all files into drivers/staging/wimax, including the uapi header
files and documentation, to make it easier to remove it when it gets
to that. Only minimal changes are made to the source files, in order
to make it possible to port patches across the move.

Also remove the MAINTAINERS entry that refers to a broken mailing
list and website.

Acked-by: Jakub Kicinski <kuba@kernel.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-By: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Suggested-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+63 -105
-1
Documentation/admin-guide/index.rst
··· 115 115 unicode 116 116 vga-softcursor 117 117 video-output 118 - wimax/index 119 118 xfs 120 119 121 120 .. only:: subproject and html
Documentation/admin-guide/wimax/i2400m.rst drivers/staging/wimax/Documentation/i2400m.rst
Documentation/admin-guide/wimax/index.rst drivers/staging/wimax/Documentation/index.rst
Documentation/admin-guide/wimax/wimax.rst drivers/staging/wimax/Documentation/wimax.rst
-21
Documentation/networking/kapi.rst
··· 83 83 .. kernel-doc:: net/sunrpc/clnt.c 84 84 :export: 85 85 86 - WiMAX 87 - ----- 88 - 89 - .. kernel-doc:: net/wimax/op-msg.c 90 - :export: 91 - 92 - .. kernel-doc:: net/wimax/op-reset.c 93 - :export: 94 - 95 - .. kernel-doc:: net/wimax/op-rfkill.c 96 - :export: 97 - 98 - .. kernel-doc:: net/wimax/stack.c 99 - :export: 100 - 101 - .. kernel-doc:: include/net/wimax.h 102 - :internal: 103 - 104 - .. kernel-doc:: include/uapi/linux/wimax.h 105 - :internal: 106 - 107 86 Network device support 108 87 ====================== 109 88
-1
Documentation/translations/zh_CN/admin-guide/index.rst
··· 114 114 unicode 115 115 vga-softcursor 116 116 video-output 117 - wimax/index 118 117 xfs 119 118 120 119 .. only:: subproject and html
-22
MAINTAINERS
··· 9106 9106 T: git git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi.git 9107 9107 F: drivers/net/wireless/intel/iwlwifi/ 9108 9108 9109 - INTEL WIRELESS WIMAX CONNECTION 2400 9110 - M: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com> 9111 - M: linux-wimax@intel.com 9112 - L: wimax@linuxwimax.org (subscribers-only) 9113 - S: Supported 9114 - W: http://linuxwimax.org 9115 - F: Documentation/admin-guide/wimax/i2400m.rst 9116 - F: drivers/net/wimax/i2400m/ 9117 - F: include/uapi/linux/wimax/i2400m.h 9118 - 9119 9109 INTEL WMI SLIM BOOTLOADER (SBL) FIRMWARE UPDATE DRIVER 9120 9110 M: Jithu Joseph <jithu.joseph@intel.com> 9121 9111 R: Maurice Ma <maurice.ma@intel.com> ··· 18896 18906 S: Supported 18897 18907 W: https://wireless.wiki.kernel.org/en/users/Drivers/wil6210 18898 18908 F: drivers/net/wireless/ath/wil6210/ 18899 - 18900 - WIMAX STACK 18901 - M: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com> 18902 - M: linux-wimax@intel.com 18903 - L: wimax@linuxwimax.org (subscribers-only) 18904 - S: Supported 18905 - W: http://linuxwimax.org 18906 - F: Documentation/admin-guide/wimax/wimax.rst 18907 - F: include/linux/wimax/debug.h 18908 - F: include/net/wimax.h 18909 - F: include/uapi/linux/wimax.h 18910 - F: net/wimax/ 18911 18909 18912 18910 WINBOND CIR DRIVER 18913 18911 M: David Härdeman <david@hardeman.nu>
-2
drivers/net/Kconfig
··· 489 489 490 490 source "drivers/net/wireless/Kconfig" 491 491 492 - source "drivers/net/wimax/Kconfig" 493 - 494 492 source "drivers/net/wan/Kconfig" 495 493 496 494 source "drivers/net/ieee802154/Kconfig"
-1
drivers/net/Makefile
··· 66 66 obj-$(CONFIG_SUNGEM_PHY) += sungem_phy.o 67 67 obj-$(CONFIG_WAN) += wan/ 68 68 obj-$(CONFIG_WLAN) += wireless/ 69 - obj-$(CONFIG_WIMAX) += wimax/ 70 69 obj-$(CONFIG_IEEE802154) += ieee802154/ 71 70 72 71 obj-$(CONFIG_VMXNET3) += vmxnet3/
-18
drivers/net/wimax/Kconfig
··· 1 - # SPDX-License-Identifier: GPL-2.0-only 2 - # 3 - # WiMAX LAN device drivers configuration 4 - # 5 - 6 - 7 - comment "Enable WiMAX (Networking options) to see the WiMAX drivers" 8 - depends on WIMAX = n 9 - 10 - if WIMAX 11 - 12 - menu "WiMAX Wireless Broadband devices" 13 - 14 - source "drivers/net/wimax/i2400m/Kconfig" 15 - 16 - endmenu 17 - 18 - endif
-2
drivers/net/wimax/Makefile
··· 1 - # SPDX-License-Identifier: GPL-2.0-only 2 - obj-$(CONFIG_WIMAX_I2400M) += i2400m/
drivers/net/wimax/i2400m/Kconfig drivers/staging/wimax/i2400m/Kconfig
drivers/net/wimax/i2400m/Makefile drivers/staging/wimax/i2400m/Makefile
+1 -1
drivers/net/wimax/i2400m/control.c drivers/staging/wimax/i2400m/control.c
··· 77 77 #include "i2400m.h" 78 78 #include <linux/kernel.h> 79 79 #include <linux/slab.h> 80 - #include <linux/wimax/i2400m.h> 80 + #include "linux-wimax-i2400m.h" 81 81 #include <linux/export.h> 82 82 #include <linux/moduleparam.h> 83 83
+5 -9
drivers/net/wimax/i2400m/debug-levels.h drivers/staging/wimax/i2400m/usb-debug-levels.h
··· 1 1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 2 /* 3 3 * Intel Wireless WiMAX Connection 2400m 4 - * Debug levels control file for the i2400m module 4 + * Debug levels control file for the i2400m-usb module 5 5 * 6 6 * Copyright (C) 2007-2008 Intel Corporation <linux-wimax@intel.com> 7 7 * Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com> ··· 10 10 #define __debug_levels__h__ 11 11 12 12 /* Maximum compile and run time debug level for all submodules */ 13 - #define D_MODULENAME i2400m 13 + #define D_MODULENAME i2400m_usb 14 14 #define D_MASTER CONFIG_WIMAX_I2400M_DEBUG_LEVEL 15 15 16 - #include <linux/wimax/debug.h> 16 + #include "../linux-wimax-debug.h" 17 17 18 18 /* List of all the enabled modules */ 19 19 enum d_module { 20 - D_SUBMODULE_DECLARE(control), 21 - D_SUBMODULE_DECLARE(driver), 22 - D_SUBMODULE_DECLARE(debugfs), 20 + D_SUBMODULE_DECLARE(usb), 23 21 D_SUBMODULE_DECLARE(fw), 24 - D_SUBMODULE_DECLARE(netdev), 25 - D_SUBMODULE_DECLARE(rfkill), 22 + D_SUBMODULE_DECLARE(notif), 26 23 D_SUBMODULE_DECLARE(rx), 27 - D_SUBMODULE_DECLARE(sysfs), 28 24 D_SUBMODULE_DECLARE(tx), 29 25 }; 30 26
drivers/net/wimax/i2400m/debugfs.c drivers/staging/wimax/i2400m/debugfs.c
+1 -1
drivers/net/wimax/i2400m/driver.c drivers/staging/wimax/i2400m/driver.c
··· 50 50 */ 51 51 #include "i2400m.h" 52 52 #include <linux/etherdevice.h> 53 - #include <linux/wimax/i2400m.h> 53 + #include "linux-wimax-i2400m.h" 54 54 #include <linux/module.h> 55 55 #include <linux/moduleparam.h> 56 56 #include <linux/suspend.h>
drivers/net/wimax/i2400m/fw.c drivers/staging/wimax/i2400m/fw.c
drivers/net/wimax/i2400m/i2400m-usb.h drivers/staging/wimax/i2400m/i2400m-usb.h
+2 -2
drivers/net/wimax/i2400m/i2400m.h drivers/staging/wimax/i2400m/i2400m.h
··· 156 156 #include <linux/completion.h> 157 157 #include <linux/rwsem.h> 158 158 #include <linux/atomic.h> 159 - #include <net/wimax.h> 160 - #include <linux/wimax/i2400m.h> 159 + #include "../net-wimax.h" 160 + #include "linux-wimax-i2400m.h" 161 161 #include <asm/byteorder.h> 162 162 163 163 enum {
drivers/net/wimax/i2400m/netdev.c drivers/staging/wimax/i2400m/netdev.c
+1 -1
drivers/net/wimax/i2400m/op-rfkill.c drivers/staging/wimax/i2400m/op-rfkill.c
··· 18 18 * switch (coming from sysfs, the wimax stack or user space). 19 19 */ 20 20 #include "i2400m.h" 21 - #include <linux/wimax/i2400m.h> 21 + #include "linux-wimax-i2400m.h" 22 22 #include <linux/slab.h> 23 23 24 24
drivers/net/wimax/i2400m/rx.c drivers/staging/wimax/i2400m/rx.c
drivers/net/wimax/i2400m/sysfs.c drivers/staging/wimax/i2400m/sysfs.c
drivers/net/wimax/i2400m/tx.c drivers/staging/wimax/i2400m/tx.c
+9 -5
drivers/net/wimax/i2400m/usb-debug-levels.h drivers/staging/wimax/i2400m/debug-levels.h
··· 1 1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 2 /* 3 3 * Intel Wireless WiMAX Connection 2400m 4 - * Debug levels control file for the i2400m-usb module 4 + * Debug levels control file for the i2400m module 5 5 * 6 6 * Copyright (C) 2007-2008 Intel Corporation <linux-wimax@intel.com> 7 7 * Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com> ··· 10 10 #define __debug_levels__h__ 11 11 12 12 /* Maximum compile and run time debug level for all submodules */ 13 - #define D_MODULENAME i2400m_usb 13 + #define D_MODULENAME i2400m 14 14 #define D_MASTER CONFIG_WIMAX_I2400M_DEBUG_LEVEL 15 15 16 - #include <linux/wimax/debug.h> 16 + #include "../linux-wimax-debug.h" 17 17 18 18 /* List of all the enabled modules */ 19 19 enum d_module { 20 - D_SUBMODULE_DECLARE(usb), 20 + D_SUBMODULE_DECLARE(control), 21 + D_SUBMODULE_DECLARE(driver), 22 + D_SUBMODULE_DECLARE(debugfs), 21 23 D_SUBMODULE_DECLARE(fw), 22 - D_SUBMODULE_DECLARE(notif), 24 + D_SUBMODULE_DECLARE(netdev), 25 + D_SUBMODULE_DECLARE(rfkill), 23 26 D_SUBMODULE_DECLARE(rx), 27 + D_SUBMODULE_DECLARE(sysfs), 24 28 D_SUBMODULE_DECLARE(tx), 25 29 }; 26 30
drivers/net/wimax/i2400m/usb-fw.c drivers/staging/wimax/i2400m/usb-fw.c
drivers/net/wimax/i2400m/usb-notif.c drivers/staging/wimax/i2400m/usb-notif.c
drivers/net/wimax/i2400m/usb-rx.c drivers/staging/wimax/i2400m/usb-rx.c
drivers/net/wimax/i2400m/usb-tx.c drivers/staging/wimax/i2400m/usb-tx.c
+1 -1
drivers/net/wimax/i2400m/usb.c drivers/staging/wimax/i2400m/usb.c
··· 49 49 * usb_reset_device() 50 50 */ 51 51 #include "i2400m-usb.h" 52 - #include <linux/wimax/i2400m.h> 52 + #include "linux-wimax-i2400m.h" 53 53 #include <linux/debugfs.h> 54 54 #include <linux/slab.h> 55 55 #include <linux/module.h>
+2
drivers/staging/Kconfig
··· 114 114 115 115 source "drivers/staging/qlge/Kconfig" 116 116 117 + source "drivers/staging/wimax/Kconfig" 118 + 117 119 source "drivers/staging/wfx/Kconfig" 118 120 119 121 source "drivers/staging/hikey9xx/Kconfig"
+1
drivers/staging/Makefile
··· 47 47 obj-$(CONFIG_FIELDBUS_DEV) += fieldbus/ 48 48 obj-$(CONFIG_KPC2000) += kpc2000/ 49 49 obj-$(CONFIG_QLGE) += qlge/ 50 + obj-$(CONFIG_WIMAX) += wimax/ 50 51 obj-$(CONFIG_WFX) += wfx/ 51 52 obj-y += hikey9xx/
+18
drivers/staging/wimax/TODO
··· 1 + There are no known users of this driver as of October 2020, and it will 2 + be removed unless someone turns out to still need it in future releases. 3 + 4 + According to https://en.wikipedia.org/wiki/List_of_WiMAX_networks, there 5 + have been many public wimax networks, but it appears that many of these 6 + have migrated to LTE or discontinued their service altogether. As most 7 + PCs and phones lack WiMAX hardware support, the remaining networks tend 8 + to use standalone routers. These almost certainly run Linux, but not a 9 + modern kernel or the mainline wimax driver stack. 10 + 11 + NetworkManager appears to have dropped userspace support in 2015 12 + https://bugzilla.gnome.org/show_bug.cgi?id=747846, the www.linuxwimax.org 13 + site had already shut down earlier. 14 + 15 + WiMax is apparently still being deployed on airport campus networks 16 + ("AeroMACS"), but in a frequency band that was not supported by the old 17 + Intel 2400m (used in Sandy Bridge laptops and earlier), which is the 18 + only driver using the kernel's wimax stack.
+1 -1
include/linux/wimax/debug.h drivers/staging/wimax/linux-wimax-debug.h
··· 60 60 * #define D_MODULENAME modulename 61 61 * #define D_MASTER 10 62 62 * 63 - * #include <linux/wimax/debug.h> 63 + * #include "linux-wimax-debug.h" 64 64 * 65 65 * enum d_module { 66 66 * D_SUBMODULE_DECLARE(submodule_1),
+1 -1
include/net/wimax.h drivers/staging/wimax/net-wimax.h
··· 236 236 #ifndef __NET__WIMAX_H__ 237 237 #define __NET__WIMAX_H__ 238 238 239 - #include <linux/wimax.h> 239 + #include "linux-wimax.h" 240 240 #include <net/genetlink.h> 241 241 #include <linux/netdevice.h> 242 242
include/uapi/linux/wimax.h drivers/staging/wimax/linux-wimax.h
include/uapi/linux/wimax/i2400m.h drivers/staging/wimax/i2400m/linux-wimax-i2400m.h
-2
net/Kconfig
··· 386 386 387 387 endif # WIRELESS 388 388 389 - source "net/wimax/Kconfig" 390 - 391 389 source "net/rfkill/Kconfig" 392 390 source "net/9p/Kconfig" 393 391 source "net/caif/Kconfig"
-1
net/Makefile
··· 66 66 ifeq ($(CONFIG_NET),y) 67 67 obj-$(CONFIG_SYSCTL) += sysctl_net.o 68 68 endif 69 - obj-$(CONFIG_WIMAX) += wimax/ 70 69 obj-$(CONFIG_DNS_RESOLVER) += dns_resolver/ 71 70 obj-$(CONFIG_CEPH_LIB) += ceph/ 72 71 obj-$(CONFIG_BATMAN_ADV) += batman-adv/
+6
net/wimax/Kconfig drivers/staging/wimax/Kconfig
··· 22 22 23 23 If unsure, it is safe to select M (module). 24 24 25 + if WIMAX 26 + 25 27 config WIMAX_DEBUG_LEVEL 26 28 int "WiMAX debug level" 27 29 depends on WIMAX ··· 40 38 If set at zero, this will compile out all the debug code. 41 39 42 40 It is recommended that it is left at 8. 41 + 42 + source "drivers/staging/wimax/i2400m/Kconfig" 43 + 44 + endif
+2
net/wimax/Makefile drivers/staging/wimax/Makefile
··· 11 11 stack.o 12 12 13 13 wimax-$(CONFIG_DEBUG_FS) += debugfs.o 14 + 15 + obj-$(CONFIG_WIMAX_I2400M) += i2400m/
+1 -1
net/wimax/debug-levels.h drivers/staging/wimax/debug-levels.h
··· 13 13 #define D_MODULENAME wimax 14 14 #define D_MASTER CONFIG_WIMAX_DEBUG_LEVEL 15 15 16 - #include <linux/wimax/debug.h> 16 + #include "linux-wimax-debug.h" 17 17 18 18 /* List of all the enabled modules */ 19 19 enum d_module {
+1 -1
net/wimax/debugfs.c drivers/staging/wimax/debugfs.c
··· 7 7 * Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com> 8 8 */ 9 9 #include <linux/debugfs.h> 10 - #include <linux/wimax.h> 10 + #include "linux-wimax.h" 11 11 #include "wimax-internal.h" 12 12 13 13 #define D_SUBMODULE debugfs
+1 -1
net/wimax/id-table.c drivers/staging/wimax/id-table.c
··· 28 28 #include <net/genetlink.h> 29 29 #include <linux/netdevice.h> 30 30 #include <linux/list.h> 31 - #include <linux/wimax.h> 31 + #include "linux-wimax.h" 32 32 #include "wimax-internal.h" 33 33 34 34
+1 -1
net/wimax/op-msg.c drivers/staging/wimax/op-msg.c
··· 60 60 #include <linux/slab.h> 61 61 #include <net/genetlink.h> 62 62 #include <linux/netdevice.h> 63 - #include <linux/wimax.h> 63 + #include "linux-wimax.h" 64 64 #include <linux/security.h> 65 65 #include <linux/export.h> 66 66 #include "wimax-internal.h"
+2 -2
net/wimax/op-reset.c drivers/staging/wimax/op-reset.c
··· 13 13 * disconnect and reconnect the device). 14 14 */ 15 15 16 - #include <net/wimax.h> 16 + #include "net-wimax.h" 17 17 #include <net/genetlink.h> 18 - #include <linux/wimax.h> 18 + #include "linux-wimax.h" 19 19 #include <linux/security.h> 20 20 #include <linux/export.h> 21 21 #include "wimax-internal.h"
+2 -2
net/wimax/op-rfkill.c drivers/staging/wimax/op-rfkill.c
··· 45 45 * wimax_rfkill_rm() [called by wimax_dev_add/rm()] 46 46 */ 47 47 48 - #include <net/wimax.h> 48 + #include "net-wimax.h" 49 49 #include <net/genetlink.h> 50 - #include <linux/wimax.h> 50 + #include "linux-wimax.h" 51 51 #include <linux/security.h> 52 52 #include <linux/rfkill.h> 53 53 #include <linux/export.h>
+2 -2
net/wimax/op-state-get.c drivers/staging/wimax/op-state-get.c
··· 10 10 * Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com> 11 11 */ 12 12 13 - #include <net/wimax.h> 13 + #include "net-wimax.h" 14 14 #include <net/genetlink.h> 15 - #include <linux/wimax.h> 15 + #include "linux-wimax.h" 16 16 #include <linux/security.h> 17 17 #include "wimax-internal.h" 18 18
+1 -1
net/wimax/stack.c drivers/staging/wimax/stack.c
··· 39 39 #include <linux/gfp.h> 40 40 #include <net/genetlink.h> 41 41 #include <linux/netdevice.h> 42 - #include <linux/wimax.h> 42 + #include "linux-wimax.h" 43 43 #include <linux/module.h> 44 44 #include "wimax-internal.h" 45 45
+1 -1
net/wimax/wimax-internal.h drivers/staging/wimax/wimax-internal.h
··· 22 22 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 23 23 24 24 #include <linux/device.h> 25 - #include <net/wimax.h> 25 + #include "net-wimax.h" 26 26 27 27 28 28 /*