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 dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html