[PATCH v2 00/11] dmaengine: kill off dma_slave_config->slave_id
Arnd Bergmann
arnd at kernel.org
Mon Nov 22 23:21:52 CET 2021
From: Arnd Bergmann <arnd at 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
--
2.29.2
Cc: Andy Gross <agross at kernel.org>
Cc: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Cc: Arnd Bergmann <arnd at arndb.de>
Cc: Baolin Wang <baolin.wang7 at gmail.com>
Cc: Bjorn Andersson <bjorn.andersson at linaro.org>
Cc: Chunyan Zhang <zhang.lyra at gmail.com>
Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
Cc: Hyun Kwon <hyun.kwon at xilinx.com>
Cc: Jaroslav Kysela <perex at perex.cz>
Cc: Jon Hunter <jonathanh at nvidia.com>
Cc: Lars-Peter Clausen <lars at metafoo.de>
Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Cc: Laxman Dewangan <ldewangan at nvidia.com>
Cc: Manivannan Sadhasivam <mani at kernel.org>
Cc: Mark Brown <broonie at kernel.org>
Cc: Michal Simek <michal.simek at xilinx.com>
Cc: Nicolas Saenz Julienne <nsaenz at kernel.org>
Cc: Orson Zhai <orsonzhai at gmail.com>
Cc: Robert Jarzmik <robert.jarzmik at free.fr>
Cc: Scott Branden <sbranden at broadcom.com>
Cc: Takashi Iwai <tiwai at suse.com>
Cc: Thierry Reding <thierry.reding at gmail.com>
Cc: Vinod Koul <vkoul at kernel.org>
Cc: alsa-devel at alsa-project.org
Cc: bcm-kernel-feedback-list at broadcom.com
Cc: dmaengine at vger.kernel.org
Cc: dri-devel at lists.freedesktop.org
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-arm-msm at vger.kernel.org
Cc: linux-kernel at vger.kernel.org
Cc: linux-mmc at vger.kernel.org
Cc: linux-mtd at lists.infradead.org
Cc: linux-rpi-kernel at lists.infradead.org
Cc: linux-serial at vger.kernel.org
Cc: linux-spi at vger.kernel.org
Cc: linux-staging at lists.linux.dev
Cc: linux-tegra at vger.kernel.org
More information about the Alsa-devel
mailing list