[PATCH v2 00/53] dmaengine: Implement generic slave capabilities retrieval

From: Maxime Ripard
Date: Thu Oct 16 2014 - 06:19:28 EST


Hi,

As we discussed a couple of weeks ago, this is a first attempt at
creating a generic behaviour for slave capabilities retrieval so that
generic layers using dmaengine can actually rely on that.

That has been done mostly through two steps: by moving out the
sub-commands of the device_control callback, so that the dmaengine
core can then infer from that wether a sub-command is implemented, and
then by moving the slave properties, such as the supported buswidth,
to the structure dma_device itself.

Comments are as usual appreciated!

Thanks,
Maxime

Changes from v1:
- Add a flag to trigger the generic slave caps mechanism
- Add a warning whenever this flag is not set, or when a
device_control callback is still defined
- Migrate all existing users to use the new callbacks, and the
generic slave capabilities

Maxime Ripard (53):
dmaengine: Make the destination abbreviation coherent
dmaengine: Make channel allocation callbacks optional
dmaengine: Introduce a device_config callback
dmaengine: split out pause/resume operations from device_control
dmaengine: Add device_terminate_all callback
dmaengine: Create a generic dma_slave_caps callback
dmaengine: Move slave caps to dma_device
dmaengine: pl08x: Split device_control
dmaengine: hdmac: Split device_control
dmaengine: bcm2835: Split device_control
dmaengine: coh901318: Split device_control
dmaengine: cppi41: Split device_control
dmaengine: jz4740: Split device_control
dmaengine: dw: Split device_control
dmaengine: edma: Split device_control
dmaengine: ep93xx: Split device_control
dmaengine: fsl-edma: Split device_control
dmaengine: imx: Split device_control
dmaengine: imx-sdma: Split device_control
dmaengine: intel-mid-dma: Split device_control
dmaengine: ipu-idmac: Split device_control
dmaengine: k3: Split device_control
dmaengine: mmp-pdma: Split device_control
dmaengine: mmp-tdma: Split device_control
dmaengine: moxart: Split device_control
dmaengine: fsl-dma: Split device_control
dmaengine: mpc512x: Split device_control
dmaengine: mxs: Split device_control
dmaengine: nbpfaxi: Split device_control
dmaengine: omap: Split device_control
dmaengine: pl330: Split device_control
dmaengine: bam-dma: Split device_control
dmaengine: s3c24xx: Split device_control
dmaengine: sa11x0: Split device_control
dmaengine: sh: Split device_control
dmaengine: sirf: Split device_control
dmaengine: sun6i: Split device_control
dmaengine: d40: Split device_control
dmaengine: tegra20: Split device_control
dmaengine: xilinx: Split device_control
dmaengine: mv_xor: Remove device_control
dmaengine: pch-dma: Rename device_control
dmaengine: td: Rename device_control
dmaengine: txx9: Rename device_control
dmaengine: bcm2835: Declare slave capabilities for the generic code
dmaengine: fsl-edma: Declare slave capabilities for the generic code
dmaengine: edma: Declare slave capabilities for the generic code
dmaengine: nbpfaxi: Declare slave capabilities for the generic code
dmaengine: omap: Declare slave capabilities for the generic code
dmaengine: pl330: Declare slave capabilities for the generic code
dmaengine: sirf: Declare slave capabilities for the generic code
dmaengine: sun6i: Declare slave capabilities for the generic code
dmaengine: Mark device_control and device_slave_caps as deprecated

drivers/dma/amba-pl08x.c | 156 +++++++++++++++------------
drivers/dma/at_hdmac.c | 121 ++++++++++++---------
drivers/dma/bcm2835-dma.c | 47 +++-----
drivers/dma/coh901318.c | 137 +++++++++++------------
drivers/dma/cppi41.c | 30 +-----
drivers/dma/dma-jz4740.c | 20 +---
drivers/dma/dmaengine.c | 10 +-
drivers/dma/dw/core.c | 92 ++++++++--------
drivers/dma/edma.c | 71 ++++--------
drivers/dma/ep93xx_dma.c | 41 ++-----
drivers/dma/fsl-edma.c | 124 ++++++++++-----------
drivers/dma/fsldma.c | 100 ++++++++---------
drivers/dma/imx-dma.c | 103 +++++++++---------
drivers/dma/imx-sdma.c | 66 ++++++------
drivers/dma/intel_mid_dma.c | 25 ++---
drivers/dma/ipu/ipu_idmac.c | 96 +++++++++--------
drivers/dma/k3dma.c | 197 ++++++++++++++++++----------------
drivers/dma/mmp_pdma.c | 109 ++++++++++---------
drivers/dma/mmp_tdma.c | 71 ++++++------
drivers/dma/moxart-dma.c | 25 +----
drivers/dma/mpc512x_dma.c | 111 +++++++++----------
drivers/dma/mv_xor.c | 9 --
drivers/dma/mxs-dma.c | 59 ++++------
drivers/dma/nbpfaxi.c | 110 +++++++++----------
drivers/dma/omap-dma.c | 70 ++++--------
drivers/dma/pch_dma.c | 8 +-
drivers/dma/pl330.c | 125 ++++++++++-----------
drivers/dma/qcom_bam_dma.c | 83 +++++++-------
drivers/dma/s3c24xx-dma.c | 75 +++++++------
drivers/dma/sa11x0-dma.c | 158 ++++++++++++++-------------
drivers/dma/sh/shdma-base.c | 72 ++++++-------
drivers/dma/sirf-dma.c | 60 +++--------
drivers/dma/ste_dma40.c | 60 +++++------
drivers/dma/sun6i-dma.c | 159 ++++++++++++++-------------
drivers/dma/tegra20-apb-dma.c | 22 +---
drivers/dma/timb_dma.c | 8 +-
drivers/dma/txx9dmac.c | 9 +-
drivers/dma/xilinx/xilinx_vdma.c | 27 +----
include/linux/dmaengine.h | 90 +++++++++++++---
sound/soc/soc-generic-dmaengine-pcm.c | 2 +-
40 files changed, 1389 insertions(+), 1569 deletions(-)

--
2.1.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/