aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2018-07-26 03:12:56 -0400
committerOlof Johansson <olof@lixom.net>2018-07-26 03:12:56 -0400
commit1ca8c0a763418d7f15f5d1d13c3005b6d3a083db (patch)
tree0072c1d2c7c9986fac133d2dcff096be9810e273
parent92f06c384b4950d1fc9e7177dd722a45c28a07f9 (diff)
parent4625210899095195600062ff8542f37a1c9f5dd4 (diff)
Merge tag 'soc-fsl-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/leo/linux into next/drivers
Various updates to soc/fsl for 4.19 Moves DPAA2 DPIO driver from staging to fsl/soc Adds multiple-pin support to QE gpio driver * tag 'soc-fsl-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/leo/linux: soc: fsl: cleanup Kconfig menu soc: fsl: dpio: Convert DPIO documentation to .rst staging: fsl-mc: Remove remaining files staging: fsl-mc: Move DPIO from staging to drivers/soc/fsl staging: fsl-dpaa2: eth: move generic FD defines to DPIO soc: fsl: qe: gpio: Add qe_gpio_set_multiple Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r--Documentation/networking/dpaa2/dpio-driver.rst (renamed from drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt)29
-rw-r--r--Documentation/networking/dpaa2/index.rst1
-rw-r--r--MAINTAINERS2
-rw-r--r--drivers/crypto/caam/sg_sw_qm2.h2
-rw-r--r--drivers/crypto/caam/sg_sw_sec4.h2
-rw-r--r--drivers/soc/fsl/Kconfig15
-rw-r--r--drivers/soc/fsl/Makefile1
-rw-r--r--drivers/soc/fsl/dpio/Makefile (renamed from drivers/staging/fsl-mc/bus/dpio/Makefile)0
-rw-r--r--drivers/soc/fsl/dpio/dpio-cmd.h (renamed from drivers/staging/fsl-mc/bus/dpio/dpio-cmd.h)0
-rw-r--r--drivers/soc/fsl/dpio/dpio-driver.c (renamed from drivers/staging/fsl-mc/bus/dpio/dpio-driver.c)2
-rw-r--r--drivers/soc/fsl/dpio/dpio-service.c (renamed from drivers/staging/fsl-mc/bus/dpio/dpio-service.c)2
-rw-r--r--drivers/soc/fsl/dpio/dpio.c (renamed from drivers/staging/fsl-mc/bus/dpio/dpio.c)0
-rw-r--r--drivers/soc/fsl/dpio/dpio.h (renamed from drivers/staging/fsl-mc/bus/dpio/dpio.h)0
-rw-r--r--drivers/soc/fsl/dpio/qbman-portal.c (renamed from drivers/staging/fsl-mc/bus/dpio/qbman-portal.c)2
-rw-r--r--drivers/soc/fsl/dpio/qbman-portal.h (renamed from drivers/staging/fsl-mc/bus/dpio/qbman-portal.h)2
-rw-r--r--drivers/soc/fsl/qbman/Kconfig2
-rw-r--r--drivers/soc/fsl/qe/Kconfig2
-rw-r--r--drivers/soc/fsl/qe/gpio.c28
-rw-r--r--drivers/staging/Kconfig2
-rw-r--r--drivers/staging/Makefile1
-rw-r--r--drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c4
-rw-r--r--drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.h22
-rw-r--r--drivers/staging/fsl-mc/Kconfig2
-rw-r--r--drivers/staging/fsl-mc/Makefile3
-rw-r--r--drivers/staging/fsl-mc/bus/Kconfig16
-rw-r--r--drivers/staging/fsl-mc/bus/Makefile9
-rw-r--r--include/soc/fsl/dpaa2-fd.h (renamed from drivers/staging/fsl-mc/include/dpaa2-fd.h)12
-rw-r--r--include/soc/fsl/dpaa2-global.h (renamed from drivers/staging/fsl-mc/include/dpaa2-global.h)0
-rw-r--r--include/soc/fsl/dpaa2-io.h (renamed from drivers/staging/fsl-mc/include/dpaa2-io.h)0
29 files changed, 100 insertions, 63 deletions
diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt b/Documentation/networking/dpaa2/dpio-driver.rst
index 72ba9da3d179..13588104161b 100644
--- a/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt
+++ b/Documentation/networking/dpaa2/dpio-driver.rst
@@ -1,7 +1,15 @@
1Copyright 2016 NXP 1.. include:: <isonum.txt>
2
3DPAA2 DPIO (Data Path I/O) Overview
4===================================
5
6:Copyright: |copy| 2016-2018 NXP
7
8This document provides an overview of the Freescale DPAA2 DPIO
9drivers
2 10
3Introduction 11Introduction
4------------ 12============
5 13
6A DPAA2 DPIO (Data Path I/O) is a hardware object that provides 14A DPAA2 DPIO (Data Path I/O) is a hardware object that provides
7interfaces to enqueue and dequeue frames to/from network interfaces 15interfaces to enqueue and dequeue frames to/from network interfaces
@@ -27,8 +35,11 @@ provides services that:
27 35
28The Linux DPIO driver consists of 3 primary components-- 36The Linux DPIO driver consists of 3 primary components--
29 DPIO object driver-- fsl-mc driver that manages the DPIO object 37 DPIO object driver-- fsl-mc driver that manages the DPIO object
38
30 DPIO service-- provides APIs to other Linux drivers for services 39 DPIO service-- provides APIs to other Linux drivers for services
40
31 QBman portal interface-- sends portal commands, gets responses 41 QBman portal interface-- sends portal commands, gets responses
42::
32 43
33 fsl-mc other 44 fsl-mc other
34 bus drivers 45 bus drivers
@@ -45,8 +56,9 @@ The Linux DPIO driver consists of 3 primary components--
45 | 56 |
46 hardware 57 hardware
47 58
59
48The diagram below shows how the DPIO driver components fit with the other 60The diagram below shows how the DPIO driver components fit with the other
49DPAA2 Linux driver components: 61DPAA2 Linux driver components::
50 +------------+ 62 +------------+
51 | OS Network | 63 | OS Network |
52 | Stack | 64 | Stack |
@@ -98,20 +110,29 @@ DPIO service (dpio-service.c, dpaa2-io.h)
98 110
99 Notification handling 111 Notification handling
100 dpaa2_io_service_register() 112 dpaa2_io_service_register()
113
101 dpaa2_io_service_deregister() 114 dpaa2_io_service_deregister()
115
102 dpaa2_io_service_rearm() 116 dpaa2_io_service_rearm()
103 117
104 Queuing 118 Queuing
105 dpaa2_io_service_pull_fq() 119 dpaa2_io_service_pull_fq()
120
106 dpaa2_io_service_pull_channel() 121 dpaa2_io_service_pull_channel()
122
107 dpaa2_io_service_enqueue_fq() 123 dpaa2_io_service_enqueue_fq()
124
108 dpaa2_io_service_enqueue_qd() 125 dpaa2_io_service_enqueue_qd()
126
109 dpaa2_io_store_create() 127 dpaa2_io_store_create()
128
110 dpaa2_io_store_destroy() 129 dpaa2_io_store_destroy()
130
111 dpaa2_io_store_next() 131 dpaa2_io_store_next()
112 132
113 Buffer pool management 133 Buffer pool management
114 dpaa2_io_service_release() 134 dpaa2_io_service_release()
135
115 dpaa2_io_service_acquire() 136 dpaa2_io_service_acquire()
116 137
117QBman portal interface (qbman-portal.c) 138QBman portal interface (qbman-portal.c)
@@ -120,7 +141,9 @@ QBman portal interface (qbman-portal.c)
120 The qbman-portal component provides APIs to do the low level hardware 141 The qbman-portal component provides APIs to do the low level hardware
121 bit twiddling for operations such as: 142 bit twiddling for operations such as:
122 -initializing Qman software portals 143 -initializing Qman software portals
144
123 -building and sending portal commands 145 -building and sending portal commands
146
124 -portal interrupt configuration and processing 147 -portal interrupt configuration and processing
125 148
126 The qbman-portal APIs are not public to other drivers, and are 149 The qbman-portal APIs are not public to other drivers, and are
diff --git a/Documentation/networking/dpaa2/index.rst b/Documentation/networking/dpaa2/index.rst
index 4c6586c87969..10bea113a7bc 100644
--- a/Documentation/networking/dpaa2/index.rst
+++ b/Documentation/networking/dpaa2/index.rst
@@ -6,3 +6,4 @@ DPAA2 Documentation
6 :maxdepth: 1 6 :maxdepth: 1
7 7
8 overview 8 overview
9 dpio-driver
diff --git a/MAINTAINERS b/MAINTAINERS
index 07d1576fc766..24fbe6583b02 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4418,7 +4418,7 @@ DPAA2 DATAPATH I/O (DPIO) DRIVER
4418M: Roy Pledge <Roy.Pledge@nxp.com> 4418M: Roy Pledge <Roy.Pledge@nxp.com>
4419L: linux-kernel@vger.kernel.org 4419L: linux-kernel@vger.kernel.org
4420S: Maintained 4420S: Maintained
4421F: drivers/staging/fsl-mc/bus/dpio 4421F: drivers/soc/fsl/dpio
4422 4422
4423DPAA2 ETHERNET DRIVER 4423DPAA2 ETHERNET DRIVER
4424M: Ioana Radulescu <ruxandra.radulescu@nxp.com> 4424M: Ioana Radulescu <ruxandra.radulescu@nxp.com>
diff --git a/drivers/crypto/caam/sg_sw_qm2.h b/drivers/crypto/caam/sg_sw_qm2.h
index 31b440757146..b5b4c12179df 100644
--- a/drivers/crypto/caam/sg_sw_qm2.h
+++ b/drivers/crypto/caam/sg_sw_qm2.h
@@ -35,7 +35,7 @@
35#ifndef _SG_SW_QM2_H_ 35#ifndef _SG_SW_QM2_H_
36#define _SG_SW_QM2_H_ 36#define _SG_SW_QM2_H_
37 37
38#include "../../../drivers/staging/fsl-mc/include/dpaa2-fd.h" 38#include <soc/fsl/dpaa2-fd.h>
39 39
40static inline void dma_to_qm_sg_one(struct dpaa2_sg_entry *qm_sg_ptr, 40static inline void dma_to_qm_sg_one(struct dpaa2_sg_entry *qm_sg_ptr,
41 dma_addr_t dma, u32 len, u16 offset) 41 dma_addr_t dma, u32 len, u16 offset)
diff --git a/drivers/crypto/caam/sg_sw_sec4.h b/drivers/crypto/caam/sg_sw_sec4.h
index e586ffab8358..dbfa9fce33e0 100644
--- a/drivers/crypto/caam/sg_sw_sec4.h
+++ b/drivers/crypto/caam/sg_sw_sec4.h
@@ -12,7 +12,7 @@
12#include "ctrl.h" 12#include "ctrl.h"
13#include "regs.h" 13#include "regs.h"
14#include "sg_sw_qm2.h" 14#include "sg_sw_qm2.h"
15#include "../../../drivers/staging/fsl-mc/include/dpaa2-fd.h" 15#include <soc/fsl/dpaa2-fd.h>
16 16
17struct sec4_sg_entry { 17struct sec4_sg_entry {
18 u64 ptr; 18 u64 ptr;
diff --git a/drivers/soc/fsl/Kconfig b/drivers/soc/fsl/Kconfig
index 7a9fb9baa66d..8f80e8bbf29e 100644
--- a/drivers/soc/fsl/Kconfig
+++ b/drivers/soc/fsl/Kconfig
@@ -1,7 +1,9 @@
1# 1#
2# Freescale SOC drivers 2# NXP/Freescale QorIQ series SOC drivers
3# 3#
4 4
5menu "NXP/Freescale QorIQ SoC drivers"
6
5source "drivers/soc/fsl/qbman/Kconfig" 7source "drivers/soc/fsl/qbman/Kconfig"
6source "drivers/soc/fsl/qe/Kconfig" 8source "drivers/soc/fsl/qe/Kconfig"
7 9
@@ -16,3 +18,14 @@ config FSL_GUTS
16 Initially only reading SVR and registering soc device are supported. 18 Initially only reading SVR and registering soc device are supported.
17 Other guts accesses, such as reading RCW, should eventually be moved 19 Other guts accesses, such as reading RCW, should eventually be moved
18 into this driver as well. 20 into this driver as well.
21
22config FSL_MC_DPIO
23 tristate "QorIQ DPAA2 DPIO driver"
24 depends on FSL_MC_BUS
25 help
26 Driver for the DPAA2 DPIO object. A DPIO provides queue and
27 buffer management facilities for software to interact with
28 other DPAA2 objects. This driver does not expose the DPIO
29 objects individually, but groups them under a service layer
30 API.
31endmenu
diff --git a/drivers/soc/fsl/Makefile b/drivers/soc/fsl/Makefile
index 44b3bebef24a..803ef1bfb5ff 100644
--- a/drivers/soc/fsl/Makefile
+++ b/drivers/soc/fsl/Makefile
@@ -6,3 +6,4 @@ obj-$(CONFIG_FSL_DPAA) += qbman/
6obj-$(CONFIG_QUICC_ENGINE) += qe/ 6obj-$(CONFIG_QUICC_ENGINE) += qe/
7obj-$(CONFIG_CPM) += qe/ 7obj-$(CONFIG_CPM) += qe/
8obj-$(CONFIG_FSL_GUTS) += guts.o 8obj-$(CONFIG_FSL_GUTS) += guts.o
9obj-$(CONFIG_FSL_MC_DPIO) += dpio/
diff --git a/drivers/staging/fsl-mc/bus/dpio/Makefile b/drivers/soc/fsl/dpio/Makefile
index b9ff24c76582..b9ff24c76582 100644
--- a/drivers/staging/fsl-mc/bus/dpio/Makefile
+++ b/drivers/soc/fsl/dpio/Makefile
diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio-cmd.h b/drivers/soc/fsl/dpio/dpio-cmd.h
index ab8f82ee7ee5..ab8f82ee7ee5 100644
--- a/drivers/staging/fsl-mc/bus/dpio/dpio-cmd.h
+++ b/drivers/soc/fsl/dpio/dpio-cmd.h
diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio-driver.c b/drivers/soc/fsl/dpio/dpio-driver.c
index 11a90a90d827..b60b77bfaffa 100644
--- a/drivers/staging/fsl-mc/bus/dpio/dpio-driver.c
+++ b/drivers/soc/fsl/dpio/dpio-driver.c
@@ -16,7 +16,7 @@
16#include <linux/io.h> 16#include <linux/io.h>
17 17
18#include <linux/fsl/mc.h> 18#include <linux/fsl/mc.h>
19#include "../../include/dpaa2-io.h" 19#include <soc/fsl/dpaa2-io.h>
20 20
21#include "qbman-portal.h" 21#include "qbman-portal.h"
22#include "dpio.h" 22#include "dpio.h"
diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio-service.c b/drivers/soc/fsl/dpio/dpio-service.c
index 14ed2beb7432..9b17f72349ed 100644
--- a/drivers/staging/fsl-mc/bus/dpio/dpio-service.c
+++ b/drivers/soc/fsl/dpio/dpio-service.c
@@ -6,7 +6,7 @@
6 */ 6 */
7#include <linux/types.h> 7#include <linux/types.h>
8#include <linux/fsl/mc.h> 8#include <linux/fsl/mc.h>
9#include "../../include/dpaa2-io.h" 9#include <soc/fsl/dpaa2-io.h>
10#include <linux/init.h> 10#include <linux/init.h>
11#include <linux/module.h> 11#include <linux/module.h>
12#include <linux/platform_device.h> 12#include <linux/platform_device.h>
diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio.c b/drivers/soc/fsl/dpio/dpio.c
index ff37c80e11a0..ff37c80e11a0 100644
--- a/drivers/staging/fsl-mc/bus/dpio/dpio.c
+++ b/drivers/soc/fsl/dpio/dpio.c
diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio.h b/drivers/soc/fsl/dpio/dpio.h
index 49194c8e45f1..49194c8e45f1 100644
--- a/drivers/staging/fsl-mc/bus/dpio/dpio.h
+++ b/drivers/soc/fsl/dpio/dpio.h
diff --git a/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c b/drivers/soc/fsl/dpio/qbman-portal.c
index 116fafb28640..cf1d448ea468 100644
--- a/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c
+++ b/drivers/soc/fsl/dpio/qbman-portal.c
@@ -8,7 +8,7 @@
8#include <asm/cacheflush.h> 8#include <asm/cacheflush.h>
9#include <linux/io.h> 9#include <linux/io.h>
10#include <linux/slab.h> 10#include <linux/slab.h>
11#include "../../include/dpaa2-global.h" 11#include <soc/fsl/dpaa2-global.h>
12 12
13#include "qbman-portal.h" 13#include "qbman-portal.h"
14 14
diff --git a/drivers/staging/fsl-mc/bus/dpio/qbman-portal.h b/drivers/soc/fsl/dpio/qbman-portal.h
index 69db3c818742..89d1dd9969b6 100644
--- a/drivers/staging/fsl-mc/bus/dpio/qbman-portal.h
+++ b/drivers/soc/fsl/dpio/qbman-portal.h
@@ -7,7 +7,7 @@
7#ifndef __FSL_QBMAN_PORTAL_H 7#ifndef __FSL_QBMAN_PORTAL_H
8#define __FSL_QBMAN_PORTAL_H 8#define __FSL_QBMAN_PORTAL_H
9 9
10#include "../../include/dpaa2-fd.h" 10#include <soc/fsl/dpaa2-fd.h>
11 11
12struct dpaa2_dq; 12struct dpaa2_dq;
13struct qbman_swp; 13struct qbman_swp;
diff --git a/drivers/soc/fsl/qbman/Kconfig b/drivers/soc/fsl/qbman/Kconfig
index fb4e6bf0a0c4..d570cb5fd381 100644
--- a/drivers/soc/fsl/qbman/Kconfig
+++ b/drivers/soc/fsl/qbman/Kconfig
@@ -1,5 +1,5 @@
1menuconfig FSL_DPAA 1menuconfig FSL_DPAA
2 bool "Freescale DPAA 1.x support" 2 bool "QorIQ DPAA1 framework support"
3 depends on (FSL_SOC_BOOKE || ARCH_LAYERSCAPE) 3 depends on (FSL_SOC_BOOKE || ARCH_LAYERSCAPE)
4 select GENERIC_ALLOCATOR 4 select GENERIC_ALLOCATOR
5 help 5 help
diff --git a/drivers/soc/fsl/qe/Kconfig b/drivers/soc/fsl/qe/Kconfig
index 73a2e08b47ef..fabba17e9d65 100644
--- a/drivers/soc/fsl/qe/Kconfig
+++ b/drivers/soc/fsl/qe/Kconfig
@@ -3,7 +3,7 @@
3# 3#
4 4
5config QUICC_ENGINE 5config QUICC_ENGINE
6 bool "Freescale QUICC Engine (QE) Support" 6 bool "QUICC Engine (QE) framework support"
7 depends on FSL_SOC && PPC32 7 depends on FSL_SOC && PPC32
8 select GENERIC_ALLOCATOR 8 select GENERIC_ALLOCATOR
9 select CRC32 9 select CRC32
diff --git a/drivers/soc/fsl/qe/gpio.c b/drivers/soc/fsl/qe/gpio.c
index 3b27075c21a7..819bed0f5667 100644
--- a/drivers/soc/fsl/qe/gpio.c
+++ b/drivers/soc/fsl/qe/gpio.c
@@ -83,6 +83,33 @@ static void qe_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val)
83 spin_unlock_irqrestore(&qe_gc->lock, flags); 83 spin_unlock_irqrestore(&qe_gc->lock, flags);
84} 84}
85 85
86static void qe_gpio_set_multiple(struct gpio_chip *gc,
87 unsigned long *mask, unsigned long *bits)
88{
89 struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc);
90 struct qe_gpio_chip *qe_gc = gpiochip_get_data(gc);
91 struct qe_pio_regs __iomem *regs = mm_gc->regs;
92 unsigned long flags;
93 int i;
94
95 spin_lock_irqsave(&qe_gc->lock, flags);
96
97 for (i = 0; i < gc->ngpio; i++) {
98 if (*mask == 0)
99 break;
100 if (__test_and_clear_bit(i, mask)) {
101 if (test_bit(i, bits))
102 qe_gc->cpdata |= (1U << (QE_PIO_PINS - 1 - i));
103 else
104 qe_gc->cpdata &= ~(1U << (QE_PIO_PINS - 1 - i));
105 }
106 }
107
108 out_be32(&regs->cpdata, qe_gc->cpdata);
109
110 spin_unlock_irqrestore(&qe_gc->lock, flags);
111}
112
86static int qe_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) 113static int qe_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio)
87{ 114{
88 struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); 115 struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc);
@@ -298,6 +325,7 @@ static int __init qe_add_gpiochips(void)
298 gc->direction_output = qe_gpio_dir_out; 325 gc->direction_output = qe_gpio_dir_out;
299 gc->get = qe_gpio_get; 326 gc->get = qe_gpio_get;
300 gc->set = qe_gpio_set; 327 gc->set = qe_gpio_set;
328 gc->set_multiple = qe_gpio_set_multiple;
301 329
302 ret = of_mm_gpiochip_add_data(np, mm_gc, qe_gc); 330 ret = of_mm_gpiochip_add_data(np, mm_gc, qe_gc);
303 if (ret) 331 if (ret)
diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
index 75a480497d22..47b61c351838 100644
--- a/drivers/staging/Kconfig
+++ b/drivers/staging/Kconfig
@@ -92,8 +92,6 @@ source "drivers/staging/clocking-wizard/Kconfig"
92 92
93source "drivers/staging/fbtft/Kconfig" 93source "drivers/staging/fbtft/Kconfig"
94 94
95source "drivers/staging/fsl-mc/Kconfig"
96
97source "drivers/staging/fsl-dpaa2/Kconfig" 95source "drivers/staging/fsl-dpaa2/Kconfig"
98 96
99source "drivers/staging/wilc1000/Kconfig" 97source "drivers/staging/wilc1000/Kconfig"
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
index e84959a8a684..bfef8f230e16 100644
--- a/drivers/staging/Makefile
+++ b/drivers/staging/Makefile
@@ -37,7 +37,6 @@ obj-$(CONFIG_CRYPTO_SKEIN) += skein/
37obj-$(CONFIG_UNISYSSPAR) += unisys/ 37obj-$(CONFIG_UNISYSSPAR) += unisys/
38obj-$(CONFIG_COMMON_CLK_XLNX_CLKWZRD) += clocking-wizard/ 38obj-$(CONFIG_COMMON_CLK_XLNX_CLKWZRD) += clocking-wizard/
39obj-$(CONFIG_FB_TFT) += fbtft/ 39obj-$(CONFIG_FB_TFT) += fbtft/
40obj-$(CONFIG_FSL_MC_BUS) += fsl-mc/
41obj-$(CONFIG_FSL_DPAA2) += fsl-dpaa2/ 40obj-$(CONFIG_FSL_DPAA2) += fsl-dpaa2/
42obj-$(CONFIG_WILC1000) += wilc1000/ 41obj-$(CONFIG_WILC1000) += wilc1000/
43obj-$(CONFIG_MOST) += most/ 42obj-$(CONFIG_MOST) += most/
diff --git a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c b/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c
index 396371728aa1..d5f0ac5c2d1f 100644
--- a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c
+++ b/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c
@@ -455,7 +455,7 @@ static int build_sg_fd(struct dpaa2_eth_priv *priv,
455 dpaa2_fd_set_format(fd, dpaa2_fd_sg); 455 dpaa2_fd_set_format(fd, dpaa2_fd_sg);
456 dpaa2_fd_set_addr(fd, addr); 456 dpaa2_fd_set_addr(fd, addr);
457 dpaa2_fd_set_len(fd, skb->len); 457 dpaa2_fd_set_len(fd, skb->len);
458 dpaa2_fd_set_ctrl(fd, DPAA2_FD_CTRL_PTA | DPAA2_FD_CTRL_PTV1); 458 dpaa2_fd_set_ctrl(fd, FD_CTRL_PTA | FD_CTRL_PTV1);
459 459
460 if (priv->tx_tstamp && skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP) 460 if (priv->tx_tstamp && skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP)
461 enable_tx_tstamp(fd, sgt_buf); 461 enable_tx_tstamp(fd, sgt_buf);
@@ -508,7 +508,7 @@ static int build_single_fd(struct dpaa2_eth_priv *priv,
508 dpaa2_fd_set_offset(fd, (u16)(skb->data - buffer_start)); 508 dpaa2_fd_set_offset(fd, (u16)(skb->data - buffer_start));
509 dpaa2_fd_set_len(fd, skb->len); 509 dpaa2_fd_set_len(fd, skb->len);
510 dpaa2_fd_set_format(fd, dpaa2_fd_single); 510 dpaa2_fd_set_format(fd, dpaa2_fd_single);
511 dpaa2_fd_set_ctrl(fd, DPAA2_FD_CTRL_PTA | DPAA2_FD_CTRL_PTV1); 511 dpaa2_fd_set_ctrl(fd, FD_CTRL_PTA | FD_CTRL_PTV1);
512 512
513 if (priv->tx_tstamp && skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP) 513 if (priv->tx_tstamp && skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP)
514 enable_tx_tstamp(fd, buffer_start); 514 enable_tx_tstamp(fd, buffer_start);
diff --git a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.h b/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.h
index 905a4e6be8fa..f2917b55b85a 100644
--- a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.h
+++ b/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.h
@@ -37,8 +37,8 @@
37#include <linux/if_vlan.h> 37#include <linux/if_vlan.h>
38#include <linux/fsl/mc.h> 38#include <linux/fsl/mc.h>
39 39
40#include "../../fsl-mc/include/dpaa2-io.h" 40#include <soc/fsl/dpaa2-io.h>
41#include "../../fsl-mc/include/dpaa2-fd.h" 41#include <soc/fsl/dpaa2-fd.h>
42#include "dpni.h" 42#include "dpni.h"
43#include "dpni-cmd.h" 43#include "dpni-cmd.h"
44 44
@@ -124,21 +124,13 @@ struct dpaa2_eth_swa {
124#define DPAA2_FD_FRC_FAICFDV 0x0400 124#define DPAA2_FD_FRC_FAICFDV 0x0400
125 125
126/* Error bits in FD CTRL */ 126/* Error bits in FD CTRL */
127#define DPAA2_FD_CTRL_UFD 0x00000004 127#define DPAA2_FD_RX_ERR_MASK (FD_CTRL_SBE | FD_CTRL_FAERR)
128#define DPAA2_FD_CTRL_SBE 0x00000008 128#define DPAA2_FD_TX_ERR_MASK (FD_CTRL_UFD | \
129#define DPAA2_FD_CTRL_FSE 0x00000020 129 FD_CTRL_SBE | \
130#define DPAA2_FD_CTRL_FAERR 0x00000040 130 FD_CTRL_FSE | \
131 131 FD_CTRL_FAERR)
132#define DPAA2_FD_RX_ERR_MASK (DPAA2_FD_CTRL_SBE | \
133 DPAA2_FD_CTRL_FAERR)
134#define DPAA2_FD_TX_ERR_MASK (DPAA2_FD_CTRL_UFD | \
135 DPAA2_FD_CTRL_SBE | \
136 DPAA2_FD_CTRL_FSE | \
137 DPAA2_FD_CTRL_FAERR)
138 132
139/* Annotation bits in FD CTRL */ 133/* Annotation bits in FD CTRL */
140#define DPAA2_FD_CTRL_PTA 0x00800000
141#define DPAA2_FD_CTRL_PTV1 0x00400000
142#define DPAA2_FD_CTRL_ASAL 0x00020000 /* ASAL = 128B */ 134#define DPAA2_FD_CTRL_ASAL 0x00020000 /* ASAL = 128B */
143 135
144/* Frame annotation status */ 136/* Frame annotation status */
diff --git a/drivers/staging/fsl-mc/Kconfig b/drivers/staging/fsl-mc/Kconfig
deleted file mode 100644
index 3002229bec1b..000000000000
--- a/drivers/staging/fsl-mc/Kconfig
+++ /dev/null
@@ -1,2 +0,0 @@
1# SPDX-License-Identifier: GPL-2.0
2source "drivers/staging/fsl-mc/bus/Kconfig"
diff --git a/drivers/staging/fsl-mc/Makefile b/drivers/staging/fsl-mc/Makefile
deleted file mode 100644
index 14683889dabd..000000000000
--- a/drivers/staging/fsl-mc/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
1# SPDX-License-Identifier: GPL-2.0
2# Freescale Management Complex (MC) bus drivers
3obj-$(CONFIG_FSL_MC_BUS) += bus/
diff --git a/drivers/staging/fsl-mc/bus/Kconfig b/drivers/staging/fsl-mc/bus/Kconfig
deleted file mode 100644
index 342453035269..000000000000
--- a/drivers/staging/fsl-mc/bus/Kconfig
+++ /dev/null
@@ -1,16 +0,0 @@
1# SPDX-License-Identifier: GPL-2.0
2#
3# DPAA2 fsl-mc bus
4#
5# Copyright (C) 2014-2016 Freescale Semiconductor, Inc.
6#
7
8config FSL_MC_DPIO
9 tristate "QorIQ DPAA2 DPIO driver"
10 depends on FSL_MC_BUS
11 help
12 Driver for the DPAA2 DPIO object. A DPIO provides queue and
13 buffer management facilities for software to interact with
14 other DPAA2 objects. This driver does not expose the DPIO
15 objects individually, but groups them under a service layer
16 API.
diff --git a/drivers/staging/fsl-mc/bus/Makefile b/drivers/staging/fsl-mc/bus/Makefile
deleted file mode 100644
index 21d8ebc8ce21..000000000000
--- a/drivers/staging/fsl-mc/bus/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
1# SPDX-License-Identifier: GPL-2.0
2#
3# Freescale Management Complex (MC) bus drivers
4#
5# Copyright (C) 2014 Freescale Semiconductor, Inc.
6#
7
8# MC DPIO driver
9obj-$(CONFIG_FSL_MC_DPIO) += dpio/
diff --git a/drivers/staging/fsl-mc/include/dpaa2-fd.h b/include/soc/fsl/dpaa2-fd.h
index b55b89ba4eda..2576abaa7779 100644
--- a/drivers/staging/fsl-mc/include/dpaa2-fd.h
+++ b/include/soc/fsl/dpaa2-fd.h
@@ -67,6 +67,18 @@ struct dpaa2_fd {
67#define SG_FINAL_FLAG_MASK 0x1 67#define SG_FINAL_FLAG_MASK 0x1
68#define SG_FINAL_FLAG_SHIFT 15 68#define SG_FINAL_FLAG_SHIFT 15
69 69
70/* Error bits in FD CTRL */
71#define FD_CTRL_ERR_MASK 0x000000FF
72#define FD_CTRL_UFD 0x00000004
73#define FD_CTRL_SBE 0x00000008
74#define FD_CTRL_FLC 0x00000010
75#define FD_CTRL_FSE 0x00000020
76#define FD_CTRL_FAERR 0x00000040
77
78/* Annotation bits in FD CTRL */
79#define FD_CTRL_PTA 0x00800000
80#define FD_CTRL_PTV1 0x00400000
81
70enum dpaa2_fd_format { 82enum dpaa2_fd_format {
71 dpaa2_fd_single = 0, 83 dpaa2_fd_single = 0,
72 dpaa2_fd_list, 84 dpaa2_fd_list,
diff --git a/drivers/staging/fsl-mc/include/dpaa2-global.h b/include/soc/fsl/dpaa2-global.h
index 9bc0713346a8..9bc0713346a8 100644
--- a/drivers/staging/fsl-mc/include/dpaa2-global.h
+++ b/include/soc/fsl/dpaa2-global.h
diff --git a/drivers/staging/fsl-mc/include/dpaa2-io.h b/include/soc/fsl/dpaa2-io.h
index ab51e40d11db..ab51e40d11db 100644
--- a/drivers/staging/fsl-mc/include/dpaa2-io.h
+++ b/include/soc/fsl/dpaa2-io.h