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

Merge tag 'wimax-staging' of git://git.kernel.org:/pub/scm/linux/kernel/git/arnd/playground

Arnd Bergmann says:

====================
wimax: move to staging

After I sent a fix for what appeared to be a harmless warning in
the wimax user interface code, the conclusion was that the whole
thing has most likely not been used in a very long time, and the
user interface possibly been broken since b61a5eea5904 ("wimax: use
genl_register_family_with_ops()").

Using a shared branch between net-next and staging should help
coordinate patches getting submitted against it.
====================

Signed-off-by: Jakub Kicinski <kuba@kernel.org>

+80 -115
-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
+18 -11
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 ··· 388 388 } 389 389 EXPORT_SYMBOL_GPL(wimax_dev_init); 390 390 391 + /* 392 + * There are multiple enums reusing the same values, adding 393 + * others is only possible if they use a compatible policy. 394 + */ 391 395 static const struct nla_policy wimax_gnl_policy[WIMAX_GNL_ATTR_MAX + 1] = { 392 - [WIMAX_GNL_RESET_IFIDX] = { .type = NLA_U32, }, 393 - [WIMAX_GNL_RFKILL_IFIDX] = { .type = NLA_U32, }, 394 - [WIMAX_GNL_RFKILL_STATE] = { 395 - .type = NLA_U32 /* enum wimax_rf_state */ 396 - }, 397 - [WIMAX_GNL_STGET_IFIDX] = { .type = NLA_U32, }, 398 - [WIMAX_GNL_MSG_IFIDX] = { .type = NLA_U32, }, 399 - [WIMAX_GNL_MSG_DATA] = { 400 - .type = NLA_UNSPEC, /* libnl doesn't grok BINARY yet */ 401 - }, 396 + /* 397 + * WIMAX_GNL_RESET_IFIDX, WIMAX_GNL_RFKILL_IFIDX, 398 + * WIMAX_GNL_STGET_IFIDX, WIMAX_GNL_MSG_IFIDX 399 + */ 400 + [1] = { .type = NLA_U32, }, 401 + /* 402 + * WIMAX_GNL_RFKILL_STATE, WIMAX_GNL_MSG_PIPE_NAME 403 + */ 404 + [2] = { .type = NLA_U32, }, /* enum wimax_rf_state */ 405 + /* 406 + * WIMAX_GNL_MSG_DATA 407 + */ 408 + [3] = { .type = NLA_UNSPEC, }, /* libnl doesn't grok BINARY yet */ 402 409 }; 403 410 404 411 static const struct genl_small_ops wimax_gnl_ops[] = {
+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 /*