From: Arnd Bergmann arnd@arndb.de
I recently came across some new uses of the 'slave_id' field that I had (almost) removed a few years ago. There are no legitimate uses of this field in the kernel, only a few stale references and two drivers that abuse the field as a side-channel between the dmaengine driver and its client.
Let's change the xilinx and qualcomm drivers to use the documented side-channel (peripheral_data) instead, and remove the remnants of it to prevent new users from coming in.
I think I got all the necessary Acks on v1 already, so if there are no further concerns, please merge this through the dmaengine tree for v5.17, or pull from
git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git tags/dma-slave-id-removal
Arnd
Arnd Bergmann (13): ASoC: tegra20-spdif: stop setting slave_id ASoC: dai_dma: remove slave_id field spi: pic32: stop setting dma_config->slave_id mmc: bcm2835: stop setting chan_config->slave_id dmaengine: shdma: remove legacy slave_id parsing dmaengine: pxa/mmp: stop referencing config->slave_id dmaengine: sprd: stop referencing config->slave_id dmaengine: qcom-adm: stop abusing slave_id config dmaengine: xilinx_dpdma: stop using slave_id field dmaengine: tegra20-apb: stop checking config->slave_id dmaengine: remove slave_id config field
--- Changes in v2:
- drop obsolete drivers/staging/patch - split tegra change into a separate patch - improve some patch descriptions.
drivers/dma/mmp_pdma.c | 6 --- drivers/dma/pxa_dma.c | 7 ---- drivers/dma/qcom/qcom_adm.c | 56 ++++++++++++++++++++++---- drivers/dma/sh/shdma-base.c | 8 ---- drivers/dma/sprd-dma.c | 3 -- drivers/dma/tegra20-apb-dma.c | 6 --- drivers/dma/xilinx/xilinx_dpdma.c | 17 +++++--- drivers/gpu/drm/xlnx/zynqmp_disp.c | 9 ++++- drivers/mmc/host/bcm2835.c | 2 - drivers/mtd/nand/raw/qcom_nandc.c | 14 ++++++- drivers/spi/spi-pic32.c | 2 - drivers/tty/serial/msm_serial.c | 15 ++++++- include/linux/dma/qcom_adm.h | 12 ++++++ include/linux/dma/xilinx_dpdma.h | 11 +++++ include/linux/dmaengine.h | 4 -- include/linux/platform_data/asoc-s3c.h | 6 --- include/sound/dmaengine_pcm.h | 4 -- sound/core/pcm_dmaengine.c | 26 +----------- sound/soc/tegra/tegra20_spdif.c | 1 - 27 files changed, 134 insertions(+), 146 deletions(-) create mode 100644 include/linux/dma/qcom_adm.h create mode 100644 include/linux/dma/xilinx_dpdma.h