Message ID | 20211122222203.4103644-1-arnd@kernel.org |
---|---|
Headers | show |
Series | dmaengine: kill off dma_slave_config->slave_id | expand |
On Mon, Nov 22, 2021 at 11:21:52PM +0100, Arnd Bergmann wrote: > 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. Acked-by: Mark Brown <broonie@kernel.org>
On 22-11-21, 23:21, Arnd Bergmann wrote: > 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 Arnd, Thanks for the cleanup. I have applied and folder the fix you sent in this
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