linux/drivers/dma
Geert Uytterhoeven 71723a96b8 dmaengine: Create symlinks between DMA channels and slaves
Currently it is not easy to find out which DMA channels are in use, and
which slave devices are using which channels.

Fix this by creating two symlinks between the DMA channel and the actual
slave device when a channel is requested:
  1. A "slave" symlink from DMA channel to slave device,
  2. A "dma:<name>" symlink slave device to DMA channel.
When the channel is released, the symlinks are removed again.
The latter requires keeping track of the slave device and the channel
name in the dma_chan structure.

Note that this is limited to channel request functions for requesting an
exclusive slave channel that take a device pointer (dma_request_chan()
and dma_request_slave_channel*()).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Link: https://lore.kernel.org/r/20200117153056.31363-1-geert+renesas@glider.be
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2020-01-24 11:41:32 +05:30
..
bestcomm
dw dmaengine: dw: platform: Mark 'hclk' clock optional 2019-10-14 13:51:44 +05:30
dw-axi-dmac dmaengine: virt-dma: Add missing locking 2019-12-26 10:04:18 +05:30
dw-edma
fsl-dpaa2-qdma dmaengine: fsl-dpaa2-qdma: Remove unnecessary local variables in DPDMAI_CMD_CREATE macro 2019-11-02 22:03:01 +05:30
hsu
idxd dmaengine: idxd: add char driver to expose submission portal to userland 2020-01-24 11:18:45 +05:30
ioat dmaengine: ioat: Support in-use unbind 2019-12-24 10:18:37 +05:30
ipu
mediatek dmaengine: virt-dma: Add missing locking 2019-12-26 10:04:18 +05:30
ppc4xx
qcom dmaengine: qcom: bam_dma: Fix resource leak 2019-10-18 13:27:58 +05:30
sf-pdma dmaengine: virt-dma: Add missing locking 2019-12-26 10:04:18 +05:30
sh dmaengine: rcar-dmac: Add dma-channel-mask property support 2019-10-14 12:26:58 +05:30
ti dmaengine: ti: k3-udma: fix spelling mistake "limted" -> "limited" 2020-01-23 17:03:29 +05:30
xilinx dmaengine: zynqmp_dma: fix burst length configuration 2020-01-21 14:49:30 +05:30
acpi-dma.c
altera-msgdma.c
amba-pl08x.c
at_hdmac.c
at_hdmac_regs.h
at_xdmac.c dmaengine: at_xdmac: Use devm_platform_ioremap_resource() in at_xdmac_probe() 2019-10-14 13:21:20 +05:30
bcm-sba-raid.c
bcm2835-dma.c dmaengine: bcm2835: do not call vchan_vdesc_fini() with lock held 2019-12-26 10:04:18 +05:30
coh901318.c
coh901318.h
coh901318_lli.c
dma-axi-dmac.c dmaengine: axi-dmac: add a check for devm_regmap_init_mmio 2019-12-11 16:11:50 +05:30
dma-jz4780.c dmaengine: JZ4780: Add support for the X1830. 2019-12-23 13:12:49 +05:30
dmaengine.c dmaengine: Create symlinks between DMA channels and slaves 2020-01-24 11:41:32 +05:30
dmaengine.h dmaengine: Move dma_get_{,any_}slave_channel() to private dmaengine.h 2020-01-21 15:05:29 +05:30
dmatest.c
ep93xx_dma.c
fsl-edma-common.c dmaengine: fsl-edma: Add eDMA support for QorIQ LS1028A platform 2019-12-18 11:55:46 +05:30
fsl-edma-common.h dmaengine: fsl-edma: Add eDMA support for QorIQ LS1028A platform 2019-12-18 11:55:46 +05:30
fsl-edma.c dmaengine: fsl-edma: Add eDMA support for QorIQ LS1028A platform 2019-12-18 11:55:46 +05:30
fsl-qdma.c dmaengine: fsl-qdma: fix duplicated argument to && 2020-01-21 13:15:37 +05:30
fsl_raid.c
fsl_raid.h
fsldma.c
fsldma.h
hisi_dma.c dmaengine: hisilicon: Add Kunpeng DMA engine support 2020-01-24 11:18:45 +05:30
idma64.c
idma64.h
img-mdc-dma.c
imx-dma.c
imx-sdma.c dmaengine: imx-sdma: Fix memory leak 2019-12-26 10:04:19 +05:30
iop-adma.c dmaengine: iop-adma: clean up an indentation issue 2019-11-14 10:27:37 +05:30
iop-adma.h
k3dma.c dmaengine: k3dma: Use devm_platform_ioremap_resource() in k3_dma_probe() 2019-10-14 13:21:20 +05:30
Kconfig dmaengine: hisilicon: Add Kunpeng DMA engine support 2020-01-24 11:18:45 +05:30
lpc18xx-dmamux.c
Makefile dmaengine: hisilicon: Add Kunpeng DMA engine support 2020-01-24 11:18:45 +05:30
mcf-edma.c
mic_x100_dma.c
mic_x100_dma.h
milbeaut-hdmac.c dmaengine: milbeaut-hdmac: remove redundant error log 2019-11-08 09:26:17 +05:30
milbeaut-xdmac.c dmaengine: milbeaut-xdmac: remove redundant error log 2019-11-08 09:26:17 +05:30
mmp_pdma.c dmaengine: mmp_pdma: add missed of_dma_controller_free 2019-11-22 10:51:30 +05:30
mmp_tdma.c dmaengine: mmp_tdma: add missed of_dma_controller_free 2019-11-22 10:51:29 +05:30
moxart-dma.c
mpc512x_dma.c
mv_xor.c
mv_xor.h
mv_xor_v2.c
mxs-dma.c
nbpfaxi.c
of-dma.c dmaengine: Move dma_get_{,any_}slave_channel() to private dmaengine.h 2020-01-21 15:05:29 +05:30
owl-dma.c dmaengine: virt-dma: Add missing locking 2019-12-26 10:04:18 +05:30
pch_dma.c
pl330.c dmaengine: pl330: Convert to the *_late and *_early system sleep callbacks 2019-12-10 11:39:04 +05:30
plx_dma.c dmaengine: plx-dma: Implement descriptor submission 2020-01-15 19:40:51 +05:30
pxa_dma.c
s3c24xx-dma.c dmaengine: s3c24xx-dma: fix spelling mistake "to" -> "too" 2020-01-23 17:03:25 +05:30
sa11x0-dma.c
sirf-dma.c
sprd-dma.c dmaengine: sprd: Add wrap address support for link-list mode 2019-11-14 16:03:35 +05:30
st_fdma.c
st_fdma.h
ste_dma40.c
ste_dma40_ll.c
ste_dma40_ll.h
stm32-dma.c
stm32-dmamux.c
stm32-mdma.c
sun4i-dma.c dmaengine: sun4i: Add support for cyclic requests with dedicated DMA 2020-01-21 14:04:29 +05:30
sun6i-dma.c
tegra20-apb-dma.c
tegra210-adma.c dmaengine: tegra210-adma: fix transfer failure 2019-10-14 12:40:38 +05:30
timb_dma.c
TODO
txx9dmac.c
txx9dmac.h
uniphier-mdmac.c
virt-dma.c dmaengine: virt-dma: use vchan_vdesc_fini() to free descriptors 2019-12-26 10:04:18 +05:30
virt-dma.h dmaengine: virt-dma: Add missing locking around list operations 2019-12-26 10:04:18 +05:30
xgene-dma.c
zx_dma.c dmaengine: zx: remove: removed dmam_pool_destroy 2019-11-14 12:16:53 +05:30