From 34ff68465a17d0c1f022ec9086504cb27dbb2fd7 Mon Sep 17 00:00:00 2001
From: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Date: Wed, 29 Aug 2018 04:42:40 -0500
Subject: [PATCH] dpaa2-eth: Move DPAA2 Ethernet driver from staging to
 drivers/net

The DPAA2 Ethernet driver supports Freescale/NXP SoCs with DPAA2
(DataPath Acceleration Architecture v2). The driver manages
network objects discovered on the fsl-mc bus.

Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
 .../networking/dpaa2}/ethernet-driver.rst      |  0
 Documentation/networking/dpaa2/index.rst       |  1 +
 MAINTAINERS                                    |  4 ++--
 drivers/net/ethernet/freescale/Kconfig         |  8 ++++++++
 drivers/net/ethernet/freescale/Makefile        |  2 ++
 .../ethernet/freescale/dpaa2}/Makefile         |  0
 .../freescale/dpaa2}/dpaa2-eth-trace.h         |  0
 .../ethernet/freescale/dpaa2}/dpaa2-eth.c      |  0
 .../ethernet/freescale/dpaa2}/dpaa2-eth.h      |  0
 .../ethernet/freescale/dpaa2}/dpaa2-ethtool.c  |  0
 .../ethernet/freescale/dpaa2}/dpkg.h           |  0
 .../ethernet/freescale/dpaa2}/dpni-cmd.h       |  0
 .../ethernet/freescale/dpaa2}/dpni.c           |  0
 .../ethernet/freescale/dpaa2}/dpni.h           |  0
 drivers/staging/fsl-dpaa2/Kconfig              |  8 --------
 drivers/staging/fsl-dpaa2/Makefile             |  1 -
 drivers/staging/fsl-dpaa2/ethernet/TODO        | 18 ------------------
 17 files changed, 13 insertions(+), 29 deletions(-)
 rename {drivers/staging/fsl-dpaa2/ethernet => Documentation/networking/dpaa2}/ethernet-driver.rst (100%)
 rename drivers/{staging/fsl-dpaa2/ethernet => net/ethernet/freescale/dpaa2}/Makefile (100%)
 rename drivers/{staging/fsl-dpaa2/ethernet => net/ethernet/freescale/dpaa2}/dpaa2-eth-trace.h (100%)
 rename drivers/{staging/fsl-dpaa2/ethernet => net/ethernet/freescale/dpaa2}/dpaa2-eth.c (100%)
 rename drivers/{staging/fsl-dpaa2/ethernet => net/ethernet/freescale/dpaa2}/dpaa2-eth.h (100%)
 rename drivers/{staging/fsl-dpaa2/ethernet => net/ethernet/freescale/dpaa2}/dpaa2-ethtool.c (100%)
 rename drivers/{staging/fsl-dpaa2/ethernet => net/ethernet/freescale/dpaa2}/dpkg.h (100%)
 rename drivers/{staging/fsl-dpaa2/ethernet => net/ethernet/freescale/dpaa2}/dpni-cmd.h (100%)
 rename drivers/{staging/fsl-dpaa2/ethernet => net/ethernet/freescale/dpaa2}/dpni.c (100%)
 rename drivers/{staging/fsl-dpaa2/ethernet => net/ethernet/freescale/dpaa2}/dpni.h (100%)
 delete mode 100644 drivers/staging/fsl-dpaa2/ethernet/TODO

diff --git a/drivers/staging/fsl-dpaa2/ethernet/ethernet-driver.rst b/Documentation/networking/dpaa2/ethernet-driver.rst
similarity index 100%
rename from drivers/staging/fsl-dpaa2/ethernet/ethernet-driver.rst
rename to Documentation/networking/dpaa2/ethernet-driver.rst
diff --git a/Documentation/networking/dpaa2/index.rst b/Documentation/networking/dpaa2/index.rst
index 10bea113a7bc..67bd87fe6c53 100644
--- a/Documentation/networking/dpaa2/index.rst
+++ b/Documentation/networking/dpaa2/index.rst
@@ -7,3 +7,4 @@ DPAA2 Documentation
 
    overview
    dpio-driver
+   ethernet-driver
diff --git a/MAINTAINERS b/MAINTAINERS
index 9ad052aeac39..2ef884b883c3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4527,9 +4527,9 @@ F:	drivers/soc/fsl/dpio
 
 DPAA2 ETHERNET DRIVER
 M:	Ioana Radulescu <ruxandra.radulescu@nxp.com>
-L:	linux-kernel@vger.kernel.org
+L:	netdev@vger.kernel.org
 S:	Maintained
-F:	drivers/staging/fsl-dpaa2/ethernet
+F:	drivers/net/ethernet/freescale/dpaa2
 
 DPAA2 ETHERNET SWITCH DRIVER
 M:	Ioana Radulescu <ruxandra.radulescu@nxp.com>
diff --git a/drivers/net/ethernet/freescale/Kconfig b/drivers/net/ethernet/freescale/Kconfig
index a580a3dcbe59..7a30276e1ba6 100644
--- a/drivers/net/ethernet/freescale/Kconfig
+++ b/drivers/net/ethernet/freescale/Kconfig
@@ -97,4 +97,12 @@ config GIANFAR
 
 source "drivers/net/ethernet/freescale/dpaa/Kconfig"
 
+config FSL_DPAA2_ETH
+	tristate "Freescale DPAA2 Ethernet"
+	depends on FSL_MC_BUS && FSL_MC_DPIO
+	depends on NETDEVICES && ETHERNET
+	---help---
+	  Ethernet driver for Freescale DPAA2 SoCs, using the
+	  Freescale MC bus driver
+
 endif # NET_VENDOR_FREESCALE
diff --git a/drivers/net/ethernet/freescale/Makefile b/drivers/net/ethernet/freescale/Makefile
index 0914a3ea4405..3b4ff08e3841 100644
--- a/drivers/net/ethernet/freescale/Makefile
+++ b/drivers/net/ethernet/freescale/Makefile
@@ -21,3 +21,5 @@ ucc_geth_driver-objs := ucc_geth.o ucc_geth_ethtool.o
 
 obj-$(CONFIG_FSL_FMAN) += fman/
 obj-$(CONFIG_FSL_DPAA_ETH) += dpaa/
+
+obj-$(CONFIG_FSL_DPAA2_ETH) += dpaa2/
diff --git a/drivers/staging/fsl-dpaa2/ethernet/Makefile b/drivers/net/ethernet/freescale/dpaa2/Makefile
similarity index 100%
rename from drivers/staging/fsl-dpaa2/ethernet/Makefile
rename to drivers/net/ethernet/freescale/dpaa2/Makefile
diff --git a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth-trace.h b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-trace.h
similarity index 100%
rename from drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth-trace.h
rename to drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-trace.h
diff --git a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
similarity index 100%
rename from drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c
rename to drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
diff --git a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.h b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
similarity index 100%
rename from drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.h
rename to drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
diff --git a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-ethtool.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
similarity index 100%
rename from drivers/staging/fsl-dpaa2/ethernet/dpaa2-ethtool.c
rename to drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
diff --git a/drivers/staging/fsl-dpaa2/ethernet/dpkg.h b/drivers/net/ethernet/freescale/dpaa2/dpkg.h
similarity index 100%
rename from drivers/staging/fsl-dpaa2/ethernet/dpkg.h
rename to drivers/net/ethernet/freescale/dpaa2/dpkg.h
diff --git a/drivers/staging/fsl-dpaa2/ethernet/dpni-cmd.h b/drivers/net/ethernet/freescale/dpaa2/dpni-cmd.h
similarity index 100%
rename from drivers/staging/fsl-dpaa2/ethernet/dpni-cmd.h
rename to drivers/net/ethernet/freescale/dpaa2/dpni-cmd.h
diff --git a/drivers/staging/fsl-dpaa2/ethernet/dpni.c b/drivers/net/ethernet/freescale/dpaa2/dpni.c
similarity index 100%
rename from drivers/staging/fsl-dpaa2/ethernet/dpni.c
rename to drivers/net/ethernet/freescale/dpaa2/dpni.c
diff --git a/drivers/staging/fsl-dpaa2/ethernet/dpni.h b/drivers/net/ethernet/freescale/dpaa2/dpni.h
similarity index 100%
rename from drivers/staging/fsl-dpaa2/ethernet/dpni.h
rename to drivers/net/ethernet/freescale/dpaa2/dpni.h
diff --git a/drivers/staging/fsl-dpaa2/Kconfig b/drivers/staging/fsl-dpaa2/Kconfig
index a4c4b83ddc9c..59aaae7268cd 100644
--- a/drivers/staging/fsl-dpaa2/Kconfig
+++ b/drivers/staging/fsl-dpaa2/Kconfig
@@ -9,14 +9,6 @@ config FSL_DPAA2
 	  Build drivers for Freescale DataPath Acceleration
 	  Architecture (DPAA2) family of SoCs.
 
-config FSL_DPAA2_ETH
-	tristate "Freescale DPAA2 Ethernet"
-	depends on FSL_DPAA2 && FSL_MC_DPIO
-	depends on NETDEVICES && ETHERNET
-	---help---
-	  Ethernet driver for Freescale DPAA2 SoCs, using the
-	  Freescale MC bus driver
-
 config FSL_DPAA2_ETHSW
 	tristate "Freescale DPAA2 Ethernet Switch"
 	depends on FSL_DPAA2
diff --git a/drivers/staging/fsl-dpaa2/Makefile b/drivers/staging/fsl-dpaa2/Makefile
index 9c7062945758..464f242a8a4e 100644
--- a/drivers/staging/fsl-dpaa2/Makefile
+++ b/drivers/staging/fsl-dpaa2/Makefile
@@ -2,6 +2,5 @@
 # Freescale DataPath Acceleration Architecture Gen2 (DPAA2) drivers
 #
 
-obj-$(CONFIG_FSL_DPAA2_ETH)		+= ethernet/
 obj-$(CONFIG_FSL_DPAA2_ETHSW)		+= ethsw/
 obj-$(CONFIG_FSL_DPAA2_PTP_CLOCK)	+= rtc/
diff --git a/drivers/staging/fsl-dpaa2/ethernet/TODO b/drivers/staging/fsl-dpaa2/ethernet/TODO
deleted file mode 100644
index e400a5e427a5..000000000000
--- a/drivers/staging/fsl-dpaa2/ethernet/TODO
+++ /dev/null
@@ -1,18 +0,0 @@
-* Add a DPAA2 MAC kernel driver in order to allow PHY management; currently
-  the DPMAC objects and their link to DPNIs are handled by MC internally
-  and all PHYs are seen as fixed-link
-* add more debug support: decide how to expose detailed debug statistics,
-  add ingress error queue support
-* MC firmware uprev; the DPAA2 objects used by the Ethernet driver need to
-  be kept in sync with binary interface changes in MC
-* refine README file
-* cleanup
-
-NOTE: None of the above is must-have before getting the DPAA2 Ethernet driver
-out of staging. The main requirement for that is to have the drivers it
-depends on, fsl-mc bus and DPIO driver, moved to drivers/bus and drivers/soc
-respectively.
-
- Please send any patches to Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
- ruxandra.radulescu@nxp.com, devel@driverdev.osuosl.org,
- linux-kernel@vger.kernel.org