From e02554e9a4338c58e75fdfb0ef908a5adc86cba5 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 14 Nov 2017 08:37:14 -0800
Subject: [PATCH] ipx: move Novell IPX protocol support into staging

The Netware IPX protocol is very old and no one should still be using
it. It is time to move it into staging for a while and eventually
decommision it.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 MAINTAINERS                                   | 3 +--
 drivers/staging/Kconfig                       | 2 ++
 drivers/staging/Makefile                      | 1 +
 {net => drivers/staging}/ipx/Kconfig          | 0
 {net => drivers/staging}/ipx/Makefile         | 0
 drivers/staging/ipx/TODO                      | 4 ++++
 {net => drivers/staging}/ipx/af_ipx.c         | 0
 {net => drivers/staging}/ipx/ipx_proc.c       | 0
 {net => drivers/staging}/ipx/ipx_route.c      | 0
 {net => drivers/staging}/ipx/pe2.c            | 0
 {net => drivers/staging}/ipx/sysctl_net_ipx.c | 0
 net/Kconfig                                   | 1 -
 net/Makefile                                  | 1 -
 13 files changed, 8 insertions(+), 4 deletions(-)
 rename {net => drivers/staging}/ipx/Kconfig (100%)
 rename {net => drivers/staging}/ipx/Makefile (100%)
 create mode 100644 drivers/staging/ipx/TODO
 rename {net => drivers/staging}/ipx/af_ipx.c (100%)
 rename {net => drivers/staging}/ipx/ipx_proc.c (100%)
 rename {net => drivers/staging}/ipx/ipx_route.c (100%)
 rename {net => drivers/staging}/ipx/pe2.c (100%)
 rename {net => drivers/staging}/ipx/sysctl_net_ipx.c (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index aa71ab52fd76..56cc7261c7e4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7311,9 +7311,8 @@ F:	drivers/tty/ipwireless/
 IPX NETWORK LAYER
 L:	netdev@vger.kernel.org
 S:	Odd fixes
-F:	include/net/ipx.h
 F:	include/uapi/linux/ipx.h
-F:	net/ipx/
+F:	drivers/staging/ipx/
 
 IRDA SUBSYSTEM
 M:	Samuel Ortiz <samuel@sortiz.org>
diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
index 554683912cff..3744640bed5a 100644
--- a/drivers/staging/Kconfig
+++ b/drivers/staging/Kconfig
@@ -26,6 +26,8 @@ if STAGING
 
 source "drivers/staging/irda/net/Kconfig"
 
+source "drivers/staging/ipx/Kconfig"
+
 source "drivers/staging/wlan-ng/Kconfig"
 
 source "drivers/staging/comedi/Kconfig"
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
index 6e536020029a..f4c0506470ff 100644
--- a/drivers/staging/Makefile
+++ b/drivers/staging/Makefile
@@ -3,6 +3,7 @@
 
 obj-y				+= media/
 obj-y				+= typec/
+obj-$(CONFIG_IPX)		+= ipx/
 obj-$(CONFIG_IRDA)		+= irda/net/
 obj-$(CONFIG_IRDA)		+= irda/drivers/
 obj-$(CONFIG_PRISM2_USB)	+= wlan-ng/
diff --git a/net/ipx/Kconfig b/drivers/staging/ipx/Kconfig
similarity index 100%
rename from net/ipx/Kconfig
rename to drivers/staging/ipx/Kconfig
diff --git a/net/ipx/Makefile b/drivers/staging/ipx/Makefile
similarity index 100%
rename from net/ipx/Makefile
rename to drivers/staging/ipx/Makefile
diff --git a/drivers/staging/ipx/TODO b/drivers/staging/ipx/TODO
new file mode 100644
index 000000000000..80db5d968264
--- /dev/null
+++ b/drivers/staging/ipx/TODO
@@ -0,0 +1,4 @@
+The ipx code will be removed soon from the kernel tree as it is old and
+obsolete and broken.
+
+Don't worry about fixing up anything here, it's not needed.
diff --git a/net/ipx/af_ipx.c b/drivers/staging/ipx/af_ipx.c
similarity index 100%
rename from net/ipx/af_ipx.c
rename to drivers/staging/ipx/af_ipx.c
diff --git a/net/ipx/ipx_proc.c b/drivers/staging/ipx/ipx_proc.c
similarity index 100%
rename from net/ipx/ipx_proc.c
rename to drivers/staging/ipx/ipx_proc.c
diff --git a/net/ipx/ipx_route.c b/drivers/staging/ipx/ipx_route.c
similarity index 100%
rename from net/ipx/ipx_route.c
rename to drivers/staging/ipx/ipx_route.c
diff --git a/net/ipx/pe2.c b/drivers/staging/ipx/pe2.c
similarity index 100%
rename from net/ipx/pe2.c
rename to drivers/staging/ipx/pe2.c
diff --git a/net/ipx/sysctl_net_ipx.c b/drivers/staging/ipx/sysctl_net_ipx.c
similarity index 100%
rename from net/ipx/sysctl_net_ipx.c
rename to drivers/staging/ipx/sysctl_net_ipx.c
diff --git a/net/Kconfig b/net/Kconfig
index 9dba2715919d..ff71ba0f6c27 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -212,7 +212,6 @@ source "net/dsa/Kconfig"
 source "net/8021q/Kconfig"
 source "net/decnet/Kconfig"
 source "net/llc/Kconfig"
-source "net/ipx/Kconfig"
 source "drivers/net/appletalk/Kconfig"
 source "net/x25/Kconfig"
 source "net/lapb/Kconfig"
diff --git a/net/Makefile b/net/Makefile
index 14fede520840..a6147c61b174 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -24,7 +24,6 @@ obj-$(CONFIG_PACKET)		+= packet/
 obj-$(CONFIG_NET_KEY)		+= key/
 obj-$(CONFIG_BRIDGE)		+= bridge/
 obj-$(CONFIG_NET_DSA)		+= dsa/
-obj-$(CONFIG_IPX)		+= ipx/
 obj-$(CONFIG_ATALK)		+= appletalk/
 obj-$(CONFIG_X25)		+= x25/
 obj-$(CONFIG_LAPB)		+= lapb/