dmaengine: sort the Kconfig
authorVinod Koul <vinod.koul@intel.com>
Mon, 24 Aug 2015 08:13:14 +0000 (13:43 +0530)
committerVinod Koul <vinod.koul@intel.com>
Mon, 24 Aug 2015 08:27:51 +0000 (13:57 +0530)
dmaengine Kconfig grew over the years, unfortunately without any
order to it. So order by core, driver and client sections, and
sort these sections alphabetically

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/Kconfig

index 81e1937fcd6de3bbd1d8622a322a8fe7eeea6855..7ba2847a507744c2243e93e716860f2401954ba0 100644 (file)
@@ -33,27 +33,29 @@ if DMADEVICES
 
 comment "DMA Devices"
 
-config INTEL_MIC_X100_DMA
-       tristate "Intel MIC X100 DMA Driver"
-       depends on 64BIT && X86 && INTEL_MIC_BUS
-       select DMA_ENGINE
-       help
-         This enables DMA support for the Intel Many Integrated Core
-         (MIC) family of PCIe form factor coprocessor X100 devices that
-         run a 64 bit Linux OS. This driver will be used by both MIC
-         host and card drivers.
-
-         If you are building host kernel with a MIC device or a card
-         kernel for a MIC device, then say M (recommended) or Y, else
-         say N. If unsure say N.
+#core
+config ASYNC_TX_ENABLE_CHANNEL_SWITCH
+       bool
 
-         More information about the Intel MIC family as well as the Linux
-         OS and tools for MIC to use with this driver are available from
-         <http://software.intel.com/en-us/mic-developer>.
+config ARCH_HAS_ASYNC_TX_FIND_CHANNEL
+       bool
 
-config ASYNC_TX_ENABLE_CHANNEL_SWITCH
+config DMA_ENGINE
        bool
 
+config DMA_VIRTUAL_CHANNELS
+       tristate
+
+config DMA_ACPI
+       def_bool y
+       depends on ACPI
+
+config DMA_OF
+       def_bool y
+       depends on OF
+       select DMA_ENGINE
+
+#devices
 config AMBA_PL08X
        bool "ARM PrimeCell PL080 or PL081 support"
        depends on ARM_AMBA
@@ -63,38 +65,15 @@ config AMBA_PL08X
          Platform has a PL08x DMAC device
          which can provide DMA engine support
 
-config LPC18XX_DMAMUX
-       bool "NXP LPC18xx/43xx DMA MUX for PL080"
-       depends on ARCH_LPC18XX || COMPILE_TEST
-       depends on OF && AMBA_PL08X
-       select MFD_SYSCON
-       help
-         Enable support for DMA on NXP LPC18xx/43xx platforms
-         with PL080 and multiplexed DMA request lines.
-
-config INTEL_IOATDMA
-       tristate "Intel I/OAT DMA support"
-       depends on PCI && X86_64
+config AMCC_PPC440SPE_ADMA
+       tristate "AMCC PPC440SPe ADMA support"
+       depends on 440SPe || 440SP
        select DMA_ENGINE
        select DMA_ENGINE_RAID
-       select DCA
-       help
-         Enable support for the Intel(R) I/OAT DMA engine present
-         in recent Intel Xeon chipsets.
-
-         Say Y here if you have such a chipset.
-
-         If unsure, say N.
-
-config INTEL_IOP_ADMA
-       tristate "Intel IOP ADMA support"
-       depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IOP13XX
-       select DMA_ENGINE
+       select ARCH_HAS_ASYNC_TX_FIND_CHANNEL
        select ASYNC_TX_ENABLE_CHANNEL_SWITCH
        help
-         Enable support for the Intel(R) IOP Series RAID engines.
-
-source "drivers/dma/dw/Kconfig"
+         Enable support for the AMCC PPC440SPe RAID engines.
 
 config AT_HDMAC
        tristate "Atmel AHB DMA support"
@@ -110,6 +89,89 @@ config AT_XDMAC
        help
          Support the Atmel XDMA controller.
 
+config AXI_DMAC
+       tristate "Analog Devices AXI-DMAC DMA support"
+       depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_SOCFPGA || COMPILE_TEST
+       select DMA_ENGINE
+       select DMA_VIRTUAL_CHANNELS
+       help
+         Enable support for the Analog Devices AXI-DMAC peripheral. This DMA
+         controller is often used in Analog Device's reference designs for FPGA
+         platforms.
+
+config COH901318
+       bool "ST-Ericsson COH901318 DMA support"
+       select DMA_ENGINE
+       depends on ARCH_U300
+       help
+         Enable support for ST-Ericsson COH 901 318 DMA.
+
+config DMA_BCM2835
+       tristate "BCM2835 DMA engine support"
+       depends on ARCH_BCM2835
+       select DMA_ENGINE
+       select DMA_VIRTUAL_CHANNELS
+
+config DMA_JZ4740
+       tristate "JZ4740 DMA support"
+       depends on MACH_JZ4740
+       select DMA_ENGINE
+       select DMA_VIRTUAL_CHANNELS
+
+config DMA_JZ4780
+       tristate "JZ4780 DMA support"
+       depends on MACH_JZ4780
+       select DMA_ENGINE
+       select DMA_VIRTUAL_CHANNELS
+       help
+         This selects support for the DMA controller in Ingenic JZ4780 SoCs.
+         If you have a board based on such a SoC and wish to use DMA for
+         devices which can use the DMA controller, say Y or M here.
+
+config DMA_OMAP
+       tristate "OMAP DMA support"
+       depends on ARCH_OMAP
+       select DMA_ENGINE
+       select DMA_VIRTUAL_CHANNELS
+       select TI_DMA_CROSSBAR if SOC_DRA7XX
+
+config DMA_SA11X0
+       tristate "SA-11x0 DMA support"
+       depends on ARCH_SA1100
+       select DMA_ENGINE
+       select DMA_VIRTUAL_CHANNELS
+       help
+         Support the DMA engine found on Intel StrongARM SA-1100 and
+         SA-1110 SoCs.  This DMA engine can only be used with on-chip
+         devices.
+
+config DMA_SUN4I
+       tristate "Allwinner A10 DMA SoCs support"
+       depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || COMPILE_TEST
+       default (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I)
+       select DMA_ENGINE
+       select DMA_OF
+       select DMA_VIRTUAL_CHANNELS
+       help
+         Enable support for the DMA controller present in the sun4i,
+         sun5i and sun7i Allwinner ARM SoCs.
+
+config DMA_SUN6I
+       tristate "Allwinner A31 SoCs DMA support"
+       depends on MACH_SUN6I || MACH_SUN8I || COMPILE_TEST
+       depends on RESET_CONTROLLER
+       select DMA_ENGINE
+       select DMA_VIRTUAL_CHANNELS
+       help
+         Support for the DMA engine first found in Allwinner A31 SoCs.
+
+config EP93XX_DMA
+       bool "Cirrus Logic EP93xx DMA support"
+       depends on ARCH_EP93XX
+       select DMA_ENGINE
+       help
+         Enable support for the Cirrus Logic EP93xx M2P/M2M DMA controller.
+
 config FSL_DMA
        tristate "Freescale Elo series DMA support"
        depends on FSL_SOC
@@ -121,6 +183,16 @@ config FSL_DMA
          EloPlus is on mpc85xx and mpc86xx and Pxxx parts, and the Elo3 is on
          some Txxx and Bxxx parts.
 
+config FSL_EDMA
+       tristate "Freescale eDMA engine support"
+       depends on OF
+       select DMA_ENGINE
+       select DMA_VIRTUAL_CHANNELS
+       help
+         Support the Freescale eDMA engine with programmable channel
+         multiplexing capability for DMA request sources(slot).
+         This module can be found on Freescale Vybrid and LS-1 SoCs.
+
 config FSL_RAID
         tristate "Freescale RAID engine Support"
         depends on FSL_SOC && !ASYNC_TX_ENABLE_CHANNEL_SWITCH
@@ -132,153 +204,167 @@ config FSL_RAID
           the capability to offload memcpy, xor and pq computation
          for raid5/6.
 
-source "drivers/dma/hsu/Kconfig"
-
-config MPC512X_DMA
-       tristate "Freescale MPC512x built-in DMA engine support"
-       depends on PPC_MPC512x || PPC_MPC831x
-       select DMA_ENGINE
-       ---help---
-         Enable support for the Freescale MPC512x built-in DMA engine.
-
-source "drivers/dma/bestcomm/Kconfig"
-
-config MV_XOR
-       bool "Marvell XOR engine support"
-       depends on PLAT_ORION
+config IMG_MDC_DMA
+       tristate "IMG MDC support"
+       depends on MIPS || COMPILE_TEST
+       depends on MFD_SYSCON
        select DMA_ENGINE
-       select DMA_ENGINE_RAID
-       select ASYNC_TX_ENABLE_CHANNEL_SWITCH
-       ---help---
-         Enable support for the Marvell XOR engine.
+       select DMA_VIRTUAL_CHANNELS
+       help
+         Enable support for the IMG multi-threaded DMA controller (MDC).
 
-config MX3_IPU
-       bool "MX3x Image Processing Unit support"
+config IMX_DMA
+       tristate "i.MX DMA support"
        depends on ARCH_MXC
        select DMA_ENGINE
-       default y
        help
-         If you plan to use the Image Processing unit in the i.MX3x, say
-         Y here. If unsure, select Y.
+         Support the i.MX DMA engine. This engine is integrated into
+         Freescale i.MX1/21/27 chips.
 
-config MX3_IPU_IRQS
-       int "Number of dynamically mapped interrupts for IPU"
-       depends on MX3_IPU
-       range 2 137
-       default 4
+config IMX_SDMA
+       tristate "i.MX SDMA support"
+       depends on ARCH_MXC
+       select DMA_ENGINE
        help
-         Out of 137 interrupt sources on i.MX31 IPU only very few are used.
-         To avoid bloating the irq_desc[] array we allocate a sufficient
-         number of IRQ slots and map them dynamically to specific sources.
+         Support the i.MX SDMA engine. This engine is integrated into
+         Freescale i.MX25/31/35/51/53/6 chips.
 
-config PXA_DMA
-       bool "PXA DMA support"
-       depends on (ARCH_MMP || ARCH_PXA)
+config INTEL_IOATDMA
+       tristate "Intel I/OAT DMA support"
+       depends on PCI && X86_64
        select DMA_ENGINE
-       select DMA_VIRTUAL_CHANNELS
+       select DMA_ENGINE_RAID
+       select DCA
        help
-         Support the DMA engine for PXA. It is also compatible with MMP PDMA
-         platform. The internal DMA IP of all PXA variants is supported, with
-         16 to 32 channels for peripheral to memory or memory to memory
-         transfers.
+         Enable support for the Intel(R) I/OAT DMA engine present
+         in recent Intel Xeon chipsets.
 
-config TXX9_DMAC
-       tristate "Toshiba TXx9 SoC DMA support"
-       depends on MACH_TX49XX || MACH_TX39XX
+         Say Y here if you have such a chipset.
+
+         If unsure, say N.
+
+config INTEL_IOP_ADMA
+       tristate "Intel IOP ADMA support"
+       depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IOP13XX
        select DMA_ENGINE
+       select ASYNC_TX_ENABLE_CHANNEL_SWITCH
        help
-         Support the TXx9 SoC internal DMA controller.  This can be
-         integrated in chips such as the Toshiba TX4927/38/39.
+         Enable support for the Intel(R) IOP Series RAID engines.
 
-config TEGRA20_APB_DMA
-       bool "NVIDIA Tegra20 APB DMA support"
-       depends on ARCH_TEGRA
+config INTEL_MIC_X100_DMA
+       tristate "Intel MIC X100 DMA Driver"
+       depends on 64BIT && X86 && INTEL_MIC_BUS
        select DMA_ENGINE
        help
-         Support for the NVIDIA Tegra20 APB DMA controller driver. The
-         DMA controller is having multiple DMA channel which can be
-         configured for different peripherals like audio, UART, SPI,
-         I2C etc which is in APB bus.
-         This DMA controller transfers data from memory to peripheral fifo
-         or vice versa. It does not support memory to memory data transfer.
+         This enables DMA support for the Intel Many Integrated Core
+         (MIC) family of PCIe form factor coprocessor X100 devices that
+         run a 64 bit Linux OS. This driver will be used by both MIC
+         host and card drivers.
 
-config S3C24XX_DMAC
-       tristate "Samsung S3C24XX DMA support"
-       depends on ARCH_S3C24XX
+         If you are building host kernel with a MIC device or a card
+         kernel for a MIC device, then say M (recommended) or Y, else
+         say N. If unsure say N.
+
+         More information about the Intel MIC family as well as the Linux
+         OS and tools for MIC to use with this driver are available from
+         <http://software.intel.com/en-us/mic-developer>.
+
+config K3_DMA
+       tristate "Hisilicon K3 DMA support"
+       depends on ARCH_HI3xxx
        select DMA_ENGINE
        select DMA_VIRTUAL_CHANNELS
        help
-         Support for the Samsung S3C24XX DMA controller driver. The
-         DMA controller is having multiple DMA channels which can be
-         configured for different peripherals like audio, UART, SPI.
-         The DMA controller can transfer data from memory to peripheral,
-         periphal to memory, periphal to periphal and memory to memory.
+         Support the DMA engine for Hisilicon K3 platform
+         devices.
 
-source "drivers/dma/sh/Kconfig"
+config LPC18XX_DMAMUX
+       bool "NXP LPC18xx/43xx DMA MUX for PL080"
+       depends on ARCH_LPC18XX || COMPILE_TEST
+       depends on OF && AMBA_PL08X
+       select MFD_SYSCON
+       help
+         Enable support for DMA on NXP LPC18xx/43xx platforms
+         with PL080 and multiplexed DMA request lines.
 
-config COH901318
-       bool "ST-Ericsson COH901318 DMA support"
+config MMP_PDMA
+       bool "MMP PDMA support"
+       depends on (ARCH_MMP || ARCH_PXA)
        select DMA_ENGINE
-       depends on ARCH_U300
        help
-         Enable support for ST-Ericsson COH 901 318 DMA.
+         Support the MMP PDMA engine for PXA and MMP platform.
 
-config STE_DMA40
-       bool "ST-Ericsson DMA40 support"
-       depends on ARCH_U8500
+config MMP_TDMA
+       bool "MMP Two-Channel DMA support"
+       depends on ARCH_MMP
        select DMA_ENGINE
+       select MMP_SRAM
        help
-         Support for ST-Ericsson DMA40 controller
+         Support the MMP Two-Channel DMA engine.
+         This engine used for MMP Audio DMA and pxa910 SQU.
+         It needs sram driver under mach-mmp.
 
-config AMCC_PPC440SPE_ADMA
-       tristate "AMCC PPC440SPe ADMA support"
-       depends on 440SPe || 440SP
+config MOXART_DMA
+       tristate "MOXART DMA support"
+       depends on ARCH_MOXART
        select DMA_ENGINE
-       select DMA_ENGINE_RAID
-       select ARCH_HAS_ASYNC_TX_FIND_CHANNEL
-       select ASYNC_TX_ENABLE_CHANNEL_SWITCH
+       select DMA_OF
+       select DMA_VIRTUAL_CHANNELS
        help
-         Enable support for the AMCC PPC440SPe RAID engines.
+         Enable support for the MOXA ART SoC DMA controller.
+         Say Y here if you enabled MMP ADMA, otherwise say N.
 
-config TIMB_DMA
-       tristate "Timberdale FPGA DMA support"
-       depends on MFD_TIMBERDALE
+config MPC512X_DMA
+       tristate "Freescale MPC512x built-in DMA engine support"
+       depends on PPC_MPC512x || PPC_MPC831x
        select DMA_ENGINE
-       help
-         Enable support for the Timberdale FPGA DMA engine.
+       ---help---
+         Enable support for the Freescale MPC512x built-in DMA engine.
 
-config SIRF_DMA
-       tristate "CSR SiRFprimaII/SiRFmarco DMA support"
-       depends on ARCH_SIRF
+config MV_XOR
+       bool "Marvell XOR engine support"
+       depends on PLAT_ORION
        select DMA_ENGINE
-       help
-         Enable support for the CSR SiRFprimaII DMA engine.
+       select DMA_ENGINE_RAID
+       select ASYNC_TX_ENABLE_CHANNEL_SWITCH
+       ---help---
+         Enable support for the Marvell XOR engine.
 
-config TI_EDMA
-       bool "TI EDMA support"
-       depends on ARCH_DAVINCI || ARCH_OMAP || ARCH_KEYSTONE
+config MXS_DMA
+       bool "MXS DMA support"
+       depends on SOC_IMX23 || SOC_IMX28 || SOC_IMX6Q
+       select STMP_DEVICE
        select DMA_ENGINE
-       select DMA_VIRTUAL_CHANNELS
-       select TI_PRIV_EDMA
-       default n
        help
-         Enable support for the TI EDMA controller. This DMA
-         engine is found on TI DaVinci and AM33xx parts.
+         Support the MXS DMA engine. This engine including APBH-DMA
+         and APBX-DMA is integrated into Freescale i.MX23/28/MX6Q/MX6DL chips.
 
-config TI_DMA_CROSSBAR
-       bool
+config MX3_IPU
+       bool "MX3x Image Processing Unit support"
+       depends on ARCH_MXC
+       select DMA_ENGINE
+       default y
+       help
+         If you plan to use the Image Processing unit in the i.MX3x, say
+         Y here. If unsure, select Y.
 
-config ARCH_HAS_ASYNC_TX_FIND_CHANNEL
-       bool
+config MX3_IPU_IRQS
+       int "Number of dynamically mapped interrupts for IPU"
+       depends on MX3_IPU
+       range 2 137
+       default 4
+       help
+         Out of 137 interrupt sources on i.MX31 IPU only very few are used.
+         To avoid bloating the irq_desc[] array we allocate a sufficient
+         number of IRQ slots and map them dynamically to specific sources.
 
-config PL330_DMA
-       tristate "DMA API Driver for PL330"
+config NBPFAXI_DMA
+       tristate "Renesas Type-AXI NBPF DMA support"
        select DMA_ENGINE
-       depends on ARM_AMBA
+       depends on ARM || COMPILE_TEST
        help
-         Select if your platform has one or more PL330 DMACs.
-         You need to provide platform specific settings via
-         platform_data for a dma-pl330 device.
+         Support for "Type-AXI" NBPF DMA IPs from Renesas
 
 config PCH_DMA
        tristate "Intel EG20T PCH / LAPIS Semicon IOH(ML7213/ML7223/ML7831) DMA"
@@ -294,72 +380,87 @@ config PCH_DMA
          ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
          ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
 
-config IMX_SDMA
-       tristate "i.MX SDMA support"
-       depends on ARCH_MXC
+config PL330_DMA
+       tristate "DMA API Driver for PL330"
        select DMA_ENGINE
+       depends on ARM_AMBA
        help
-         Support the i.MX SDMA engine. This engine is integrated into
-         Freescale i.MX25/31/35/51/53/6 chips.
+         Select if your platform has one or more PL330 DMACs.
+         You need to provide platform specific settings via
+         platform_data for a dma-pl330 device.
 
-config IMX_DMA
-       tristate "i.MX DMA support"
-       depends on ARCH_MXC
+config PXA_DMA
+       bool "PXA DMA support"
+       depends on (ARCH_MMP || ARCH_PXA)
        select DMA_ENGINE
+       select DMA_VIRTUAL_CHANNELS
        help
-         Support the i.MX DMA engine. This engine is integrated into
-         Freescale i.MX1/21/27 chips.
+         Support the DMA engine for PXA. It is also compatible with MMP PDMA
+         platform. The internal DMA IP of all PXA variants is supported, with
+         16 to 32 channels for peripheral to memory or memory to memory
+         transfers.
 
-config MXS_DMA
-       bool "MXS DMA support"
-       depends on SOC_IMX23 || SOC_IMX28 || SOC_IMX6Q
-       select STMP_DEVICE
+config QCOM_BAM_DMA
+       tristate "QCOM BAM DMA support"
+       depends on ARCH_QCOM || (COMPILE_TEST && OF && ARM)
+       select DMA_ENGINE
+       select DMA_VIRTUAL_CHANNELS
+       ---help---
+         Enable support for the QCOM BAM DMA controller.  This controller
+         provides DMA capabilities for a variety of on-chip devices.
+
+config SIRF_DMA
+       tristate "CSR SiRFprimaII/SiRFmarco DMA support"
+       depends on ARCH_SIRF
        select DMA_ENGINE
        help
-         Support the MXS DMA engine. This engine including APBH-DMA
-         and APBX-DMA is integrated into Freescale i.MX23/28/MX6Q/MX6DL chips.
+         Enable support for the CSR SiRFprimaII DMA engine.
 
-config EP93XX_DMA
-       bool "Cirrus Logic EP93xx DMA support"
-       depends on ARCH_EP93XX
+config STE_DMA40
+       bool "ST-Ericsson DMA40 support"
+       depends on ARCH_U8500
        select DMA_ENGINE
        help
-         Enable support for the Cirrus Logic EP93xx M2P/M2M DMA controller.
+         Support for ST-Ericsson DMA40 controller
 
-config DMA_SA11X0
-       tristate "SA-11x0 DMA support"
-       depends on ARCH_SA1100
+config S3C24XX_DMAC
+       tristate "Samsung S3C24XX DMA support"
+       depends on ARCH_S3C24XX
        select DMA_ENGINE
        select DMA_VIRTUAL_CHANNELS
        help
-         Support the DMA engine found on Intel StrongARM SA-1100 and
-         SA-1110 SoCs.  This DMA engine can only be used with on-chip
-         devices.
+         Support for the Samsung S3C24XX DMA controller driver. The
+         DMA controller is having multiple DMA channels which can be
+         configured for different peripherals like audio, UART, SPI.
+         The DMA controller can transfer data from memory to peripheral,
+         periphal to memory, periphal to periphal and memory to memory.
 
-config MMP_TDMA
-       bool "MMP Two-Channel DMA support"
-       depends on ARCH_MMP
+config TXX9_DMAC
+       tristate "Toshiba TXx9 SoC DMA support"
+       depends on MACH_TX49XX || MACH_TX39XX
        select DMA_ENGINE
-       select MMP_SRAM
        help
-         Support the MMP Two-Channel DMA engine.
-         This engine used for MMP Audio DMA and pxa910 SQU.
-         It needs sram driver under mach-mmp.
-
-         Say Y here if you enabled MMP ADMA, otherwise say N.
+         Support the TXx9 SoC internal DMA controller.  This can be
+         integrated in chips such as the Toshiba TX4927/38/39.
 
-config DMA_OMAP
-       tristate "OMAP DMA support"
-       depends on ARCH_OMAP
+config TEGRA20_APB_DMA
+       bool "NVIDIA Tegra20 APB DMA support"
+       depends on ARCH_TEGRA
        select DMA_ENGINE
-       select DMA_VIRTUAL_CHANNELS
-       select TI_DMA_CROSSBAR if SOC_DRA7XX
+       help
+         Support for the NVIDIA Tegra20 APB DMA controller driver. The
+         DMA controller is having multiple DMA channel which can be
+         configured for different peripherals like audio, UART, SPI,
+         I2C etc which is in APB bus.
+         This DMA controller transfers data from memory to peripheral fifo
+         or vice versa. It does not support memory to memory data transfer.
 
-config DMA_BCM2835
-       tristate "BCM2835 DMA engine support"
-       depends on ARCH_BCM2835
+config TIMB_DMA
+       tristate "Timberdale FPGA DMA support"
+       depends on MFD_TIMBERDALE
        select DMA_ENGINE
-       select DMA_VIRTUAL_CHANNELS
+       help
+         Enable support for the Timberdale FPGA DMA engine.
 
 config TI_CPPI41
        tristate "AM33xx CPPI41 DMA support"
@@ -369,56 +470,28 @@ config TI_CPPI41
          The Communications Port Programming Interface (CPPI) 4.1 DMA engine
          is currently used by the USB driver on AM335x platforms.
 
-config MMP_PDMA
-       bool "MMP PDMA support"
-       depends on (ARCH_MMP || ARCH_PXA)
-       select DMA_ENGINE
-       help
-         Support the MMP PDMA engine for PXA and MMP platform.
-
-config DMA_JZ4740
-       tristate "JZ4740 DMA support"
-       depends on MACH_JZ4740
-       select DMA_ENGINE
-       select DMA_VIRTUAL_CHANNELS
-
-config DMA_JZ4780
-       tristate "JZ4780 DMA support"
-       depends on MACH_JZ4780
-       select DMA_ENGINE
-       select DMA_VIRTUAL_CHANNELS
-       help
-         This selects support for the DMA controller in Ingenic JZ4780 SoCs.
-         If you have a board based on such a SoC and wish to use DMA for
-         devices which can use the DMA controller, say Y or M here.
+config TI_DMA_CROSSBAR
+       bool
 
-config K3_DMA
-       tristate "Hisilicon K3 DMA support"
-       depends on ARCH_HI3xxx
+config TI_EDMA
+       bool "TI EDMA support"
+       depends on ARCH_DAVINCI || ARCH_OMAP || ARCH_KEYSTONE
        select DMA_ENGINE
        select DMA_VIRTUAL_CHANNELS
+       select TI_PRIV_EDMA
+       default n
        help
-         Support the DMA engine for Hisilicon K3 platform
-         devices.
+         Enable support for the TI EDMA controller. This DMA
+         engine is found on TI DaVinci and AM33xx parts.
 
-config MOXART_DMA
-       tristate "MOXART DMA support"
-       depends on ARCH_MOXART
-       select DMA_ENGINE
-       select DMA_OF
-       select DMA_VIRTUAL_CHANNELS
-       help
-         Enable support for the MOXA ART SoC DMA controller.
-config FSL_EDMA
-       tristate "Freescale eDMA engine support"
-       depends on OF
+config XGENE_DMA
+       tristate "APM X-Gene DMA support"
+       depends on ARCH_XGENE || COMPILE_TEST
        select DMA_ENGINE
-       select DMA_VIRTUAL_CHANNELS
+       select DMA_ENGINE_RAID
+       select ASYNC_TX_ENABLE_CHANNEL_SWITCH
        help
-         Support the Freescale eDMA engine with programmable channel
-         multiplexing capability for DMA request sources(slot).
-         This module can be found on Freescale Vybrid and LS-1 SoCs.
+         Enable support for the APM X-Gene SoC DMA engine.
 
 config XILINX_VDMA
        tristate "Xilinx AXI VDMA Engine"
@@ -434,50 +507,6 @@ config XILINX_VDMA
          channels, Memory Mapped to Stream (MM2S) and Stream to
          Memory Mapped (S2MM) for the data transfers.
 
-config DMA_SUN4I
-       tristate "Allwinner A10 DMA SoCs support"
-       depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || COMPILE_TEST
-       default (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I)
-       select DMA_ENGINE
-       select DMA_OF
-       select DMA_VIRTUAL_CHANNELS
-       help
-         Enable support for the DMA controller present in the sun4i,
-         sun5i and sun7i Allwinner ARM SoCs.
-
-config DMA_SUN6I
-       tristate "Allwinner A31 SoCs DMA support"
-       depends on MACH_SUN6I || MACH_SUN8I || COMPILE_TEST
-       depends on RESET_CONTROLLER
-       select DMA_ENGINE
-       select DMA_VIRTUAL_CHANNELS
-       help
-         Support for the DMA engine first found in Allwinner A31 SoCs.
-
-config NBPFAXI_DMA
-       tristate "Renesas Type-AXI NBPF DMA support"
-       select DMA_ENGINE
-       depends on ARM || COMPILE_TEST
-       help
-         Support for "Type-AXI" NBPF DMA IPs from Renesas
-
-config IMG_MDC_DMA
-       tristate "IMG MDC support"
-       depends on MIPS || COMPILE_TEST
-       depends on MFD_SYSCON
-       select DMA_ENGINE
-       select DMA_VIRTUAL_CHANNELS
-       help
-         Enable support for the IMG multi-threaded DMA controller (MDC).
-
-config XGENE_DMA
-       tristate "APM X-Gene DMA support"
-       depends on ARCH_XGENE || COMPILE_TEST
-       select DMA_ENGINE
-       select DMA_ENGINE_RAID
-       select ASYNC_TX_ENABLE_CHANNEL_SWITCH
-       help
-         Enable support for the APM X-Gene SoC DMA engine.
 config ZX_DMA
        tristate "ZTE ZX296702 DMA support"
        depends on ARCH_ZX
@@ -486,21 +515,17 @@ config ZX_DMA
        help
          Support the DMA engine for ZTE ZX296702 platform devices.
 
-config DMA_ENGINE
-       bool
 
-config DMA_VIRTUAL_CHANNELS
-       tristate
+# driver files
+source "drivers/dma/bestcomm/Kconfig"
 
-config DMA_ACPI
-       def_bool y
-       depends on ACPI
+source "drivers/dma/dw/Kconfig"
 
-config DMA_OF
-       def_bool y
-       depends on OF
-       select DMA_ENGINE
+source "drivers/dma/hsu/Kconfig"
+
+source "drivers/dma/sh/Kconfig"
 
+# clients
 comment "DMA Clients"
        depends on DMA_ENGINE
 
@@ -525,23 +550,4 @@ config DMATEST
 config DMA_ENGINE_RAID
        bool
 
-config QCOM_BAM_DMA
-       tristate "QCOM BAM DMA support"
-       depends on ARCH_QCOM || (COMPILE_TEST && OF && ARM)
-       select DMA_ENGINE
-       select DMA_VIRTUAL_CHANNELS
-       ---help---
-         Enable support for the QCOM BAM DMA controller.  This controller
-         provides DMA capabilities for a variety of on-chip devices.
-
-config AXI_DMAC
-       tristate "Analog Devices AXI-DMAC DMA support"
-       depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_SOCFPGA || COMPILE_TEST
-       select DMA_ENGINE
-       select DMA_VIRTUAL_CHANNELS
-       help
-         Enable support for the Analog Devices AXI-DMAC peripheral. This DMA
-         controller is often used in Analog Device's reference designs for FPGA
-         platforms.
-
 endif