This patch series: A) addresses the final item in the staging TODO list for the fsl-mc bus driver-- adding a functional driver on top of the bus driver, and B) requests that the fsl-mc bus driver be moved out of staging.
The proposed destination for the bus driver is drivers/bus. Proposed location for global header files for fsl-mc and dpaa2 is include/linux/fsl. The functional driver added is for the DPIO object which provides queuing services for other DPAA2 drivers. An overview of the DPIO object and driver components are in patch 2. Patches 3-7 are internal components of the DPIO driver-- bit twiddling of hardware registers, DPAA2 data structures, and the queuing APIs exposed to other drivers. Patch 8 adds the fsl-mc driver for the DPIO object. It provides the probe/remove functions, demonstrating a working example of how fsl-mc drivers initialize, interact with the management complex hardware, map their mappable MMIO regions, initialize interrupts, register an ISR, etc. All other DPAA2 drivers will follow a similar initialization pattern. The dpio driver is added under drivers/bus/fsl-mc/dpio. This driver provides queueing related services and there is no other obvious place it would go. Like the bus driver, it is part of the DPAA2 infrastucture and putting it under the fsl-mc bus driver seems like a logical place. This series depends on the patch series: [PATCH 00/14] staging: fsl-mc: cleanup and uprev to MC v10.x https://www.spinics.net/lists/kernel/msg2362567.html Ioana Radulescu (1): bus: fsl-mc: dpio: add APIs for DPIO objects Roy Pledge (6): bus: fsl-mc: dpio: add frame descriptor and scatter/gather APIs bus: fsl-mc: dpio: add global dpaa2 definitions bus: fsl-mc: dpio: add QBMan portal APIs for DPAA2 bus: fsl-mc: dpio: add the DPAA2 DPIO service interface bus: fsl-mc: dpio: add the DPAA2 DPIO object driver bus: fsl-mc: dpio: add maintainer for DPIO Stuart Yoder (2): staging: fsl-mc: move bus driver out of staging bus: fsl-mc: dpio: add DPIO driver overview document Documentation/dpaa2/dpio-driver.txt | 135 +++ .../README.txt => Documentation/dpaa2/overview.txt | 0 MAINTAINERS | 6 + drivers/bus/Kconfig | 3 + drivers/bus/Makefile | 3 + drivers/{staging/fsl-mc/bus => bus/fsl-mc}/Kconfig | 10 + .../{staging/fsl-mc/bus => bus/fsl-mc}/Makefile | 4 +- .../{staging/fsl-mc/bus => bus/fsl-mc}/dpbp-cmd.h | 0 drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpbp.c | 6 +- .../{staging/fsl-mc/bus => bus/fsl-mc}/dpcon-cmd.h | 0 drivers/bus/fsl-mc/dpio/Makefile | 9 + drivers/bus/fsl-mc/dpio/dpio-cmd.h | 198 ++++ drivers/bus/fsl-mc/dpio/dpio-driver.c | 289 ++++++ drivers/bus/fsl-mc/dpio/dpio-service.c | 614 ++++++++++++ drivers/bus/fsl-mc/dpio/dpio.c | 229 +++++ drivers/bus/fsl-mc/dpio/dpio.h | 108 +++ drivers/bus/fsl-mc/dpio/qbman-portal.c | 1009 ++++++++++++++++++++ drivers/bus/fsl-mc/dpio/qbman-portal.h | 464 +++++++++ .../{staging/fsl-mc/bus => bus/fsl-mc}/dpmcp-cmd.h | 0 drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpmcp.c | 5 +- drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpmcp.h | 0 .../{staging/fsl-mc/bus => bus/fsl-mc}/dpmng-cmd.h | 0 drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpmng.c | 6 +- .../{staging/fsl-mc/bus => bus/fsl-mc}/dprc-cmd.h | 0 .../fsl-mc/bus => bus/fsl-mc}/dprc-driver.c | 4 +- drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dprc.c | 6 +- .../fsl-mc/bus => bus/fsl-mc}/fsl-mc-allocator.c | 4 +- .../fsl-mc/bus => bus/fsl-mc}/fsl-mc-bus.c | 6 +- .../fsl-mc/bus => bus/fsl-mc}/fsl-mc-msi.c | 2 +- .../fsl-mc/bus => bus/fsl-mc}/fsl-mc-private.h | 4 +- drivers/{staging/fsl-mc/bus => bus/fsl-mc}/mc-io.c | 4 +- .../{staging/fsl-mc/bus => bus/fsl-mc}/mc-sys.c | 6 +- drivers/irqchip/Makefile | 1 + .../bus => irqchip}/irq-gic-v3-its-fsl-mc-msi.c | 2 +- drivers/staging/Kconfig | 2 - drivers/staging/Makefile | 1 - drivers/staging/fsl-mc/Kconfig | 1 - drivers/staging/fsl-mc/Makefile | 2 - drivers/staging/fsl-mc/TODO | 18 - include/linux/fsl/dpaa2-fd.h | 415 ++++++++ include/linux/fsl/dpaa2-global.h | 203 ++++ include/linux/fsl/dpaa2-io.h | 138 +++ .../fsl-mc/include => include/linux/fsl}/dpbp.h | 0 .../fsl-mc/include => include/linux/fsl}/dpmng.h | 0 .../fsl-mc/include => include/linux/fsl}/dprc.h | 0 .../fsl-mc/include => include/linux/fsl}/mc-bus.h | 2 +- .../fsl-mc/include => include/linux/fsl}/mc-cmd.h | 0 .../fsl-mc/include => include/linux/fsl}/mc-sys.h | 0 .../fsl-mc/include => include/linux/fsl}/mc.h | 2 +- 49 files changed, 3867 insertions(+), 54 deletions(-) create mode 100644 Documentation/dpaa2/dpio-driver.txt rename drivers/staging/fsl-mc/README.txt => Documentation/dpaa2/overview.txt (100%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/Kconfig (56%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/Makefile (88%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpbp-cmd.h (100%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpbp.c (99%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpcon-cmd.h (100%) create mode 100644 drivers/bus/fsl-mc/dpio/Makefile create mode 100644 drivers/bus/fsl-mc/dpio/dpio-cmd.h create mode 100644 drivers/bus/fsl-mc/dpio/dpio-driver.c create mode 100644 drivers/bus/fsl-mc/dpio/dpio-service.c create mode 100644 drivers/bus/fsl-mc/dpio/dpio.c create mode 100644 drivers/bus/fsl-mc/dpio/dpio.h create mode 100644 drivers/bus/fsl-mc/dpio/qbman-portal.c create mode 100644 drivers/bus/fsl-mc/dpio/qbman-portal.h rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpmcp-cmd.h (100%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpmcp.c (99%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpmcp.h (100%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpmng-cmd.h (100%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpmng.c (96%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dprc-cmd.h (100%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dprc-driver.c (99%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dprc.c (99%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/fsl-mc-allocator.c (99%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/fsl-mc-bus.c (99%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/fsl-mc-msi.c (99%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/fsl-mc-private.h (96%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/mc-io.c (99%) rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/mc-sys.c (99%) rename drivers/{staging/fsl-mc/bus => irqchip}/irq-gic-v3-its-fsl-mc-msi.c (99%) delete mode 100644 drivers/staging/fsl-mc/Kconfig delete mode 100644 drivers/staging/fsl-mc/Makefile delete mode 100644 drivers/staging/fsl-mc/TODO create mode 100644 include/linux/fsl/dpaa2-fd.h create mode 100644 include/linux/fsl/dpaa2-global.h create mode 100644 include/linux/fsl/dpaa2-io.h rename {drivers/staging/fsl-mc/include => include/linux/fsl}/dpbp.h (100%) rename {drivers/staging/fsl-mc/include => include/linux/fsl}/dpmng.h (100%) rename {drivers/staging/fsl-mc/include => include/linux/fsl}/dprc.h (100%) rename {drivers/staging/fsl-mc/include => include/linux/fsl}/mc-bus.h (99%) rename {drivers/staging/fsl-mc/include => include/linux/fsl}/mc-cmd.h (100%) rename {drivers/staging/fsl-mc/include => include/linux/fsl}/mc-sys.h (100%) rename {drivers/staging/fsl-mc/include => include/linux/fsl}/mc.h (99%) -- 1.9.0