[PATCH v2 00/11] dmaengine: kill off dma_slave_config->slave_id

Arnd Bergmann arnd at kernel.org
Mon Nov 22 22:21:52 UTC 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 dri-devel mailing list