lkml.org 
[lkml]   [2018]   [Aug]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 00/46] Use dmaenginem_async_device_register to simplify code
    From
    Date
    Hi,

    On 2018-08-03 10:19, Huang Shijie wrote:
    > All the patches are using dmaenginem_async_device_register to simplify code
    > except the last one:
    > dmaengine: add COMPILE_TEST for the drivers
    >
    > I use the last one to do the compiler test.
    > There are still 20 drivers which do not use the dmaenginem_async_device_register.
    > Let me take a rest, if this patch set is accepted, I will do the rest.

    I think for most of the drivers this series is going to open a race
    which is essentially:

    prior:
    _remove()
    {
    ...
    dma_async_device_register()
    /* Free resources, disable HW, etc */
    return 0;
    }

    after:
    _remove()
    {
    ...
    /* Free resources, disable HW, etc */
    /*
    * The dma device is still registered and a channel can be
    * requested
    */

    dma_async_device_register()
    return 0;
    }

    It might be theoretical, but conversion to managed device resources is
    not straight forward in some cases.

    - Péter

    >
    > Huang Shijie (46):
    > dmaengine: zx_dma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: zynqmp_dma: use dmaenginem_async_device_register to
    > simplify the code
    > dmaengine: xilinx_dma: use dmaenginem_async_device_register to
    > simplify the code
    > dmaengine: xgene-dma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: txx9dmac: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: timb_dma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: omap-dma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: edma: use dmaenginem_async_device_register to simplify the
    > code
    > dmaengine: cppi41: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: tegra210-adma: use helper dmaenginem_async_device_register
    > dmaengine: tegra20-apb-dma: use helper
    > dmaenginem_async_device_register
    > dmaengine: sun6i-dma: use helper dmaenginem_async_device_register
    > dmaengine: sun4i-dma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: coh901318: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: s3c24xx-dma: use dmaenginem_async_device_register to
    > simplify the code
    > dmaengine: ste_dma40: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: stm32-mdma: use dmaenginem_async_device_register to
    > simplify the code
    > dmaengine: stm32-dma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: sprd-dma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: sirf-dma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: bam_dma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: sudmac: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: sa11x0-dma: use dmaenginem_async_device_register to
    > simplify the code
    > dmaengine: nbpfaxi: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: mmp_tdma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: shdmac: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: usb-dmac: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: rcar-dmac: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: hidma: use dmaenginem_async_device_register to simplify the
    > code
    > dmaengine: pxa_dma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: moxart-dma: use dmaenginem_async_device_register to
    > simplify the code
    > dmaengine: pl330: use dmaenginem_async_device_register to simplify the
    > code
    > dmaengine: pch_dma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: mxs-dma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: mtk-hsdma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: k3dma: use dmaenginem_async_device_register to simplify the
    > code
    > dmaengine: imx-sdma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: imx-dma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: img-mdc-dma: use dmaenginem_async_device_register to
    > simplify the code
    > dmaengine: fsl-edma: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: at_hdmac: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: at_xdmac: use dmaenginem_async_device_register to simplify
    > the code
    > dmaengine: dma-jz4780: use dmaenginem_async_device_register to
    > simplify the code
    > dmaengine: dma-jz4740: use dmaenginem_async_device_register to
    > simplify the code
    > dmaengine: dma-axi-dmac: use dmaenginem_async_device_register to
    > simplify the code
    > dmaengine: add COMPILE_TEST for the drivers
    >
    > drivers/dma/Kconfig | 24 ++++++++++++------------
    > drivers/dma/at_hdmac.c | 4 +---
    > drivers/dma/at_xdmac.c | 7 ++-----
    > drivers/dma/coh901318.c | 14 ++++----------
    > drivers/dma/dma-axi-dmac.c | 7 ++-----
    > drivers/dma/dma-jz4740.c | 7 ++-----
    > drivers/dma/dma-jz4780.c | 8 ++------
    > drivers/dma/fsl-edma.c | 4 +---
    > drivers/dma/img-mdc-dma.c | 7 ++-----
    > drivers/dma/imx-dma.c | 8 ++------
    > drivers/dma/imx-sdma.c | 7 ++-----
    > drivers/dma/k3dma.c | 7 ++-----
    > drivers/dma/mediatek/mtk-hsdma.c | 4 +---
    > drivers/dma/mmp_tdma.c | 7 ++-----
    > drivers/dma/moxart-dma.c | 5 +----
    > drivers/dma/mxs-dma.c | 3 +--
    > drivers/dma/nbpfaxi.c | 7 ++-----
    > drivers/dma/pch_dma.c | 4 +---
    > drivers/dma/pl330.c | 4 +---
    > drivers/dma/pxa_dma.c | 3 +--
    > drivers/dma/qcom/bam_dma.c | 7 ++-----
    > drivers/dma/qcom/hidma.c | 3 +--
    > drivers/dma/s3c24xx-dma.c | 11 +++--------
    > drivers/dma/sa11x0-dma.c | 4 +---
    > drivers/dma/sh/rcar-dmac.c | 5 +----
    > drivers/dma/sh/shdmac.c | 5 +----
    > drivers/dma/sh/sudmac.c | 4 +---
    > drivers/dma/sh/usb-dmac.c | 3 +--
    > drivers/dma/sirf-dma.c | 7 ++-----
    > drivers/dma/sprd-dma.c | 7 ++-----
    > drivers/dma/ste_dma40.c | 14 +++++---------
    > drivers/dma/stm32-dma.c | 3 +--
    > drivers/dma/stm32-mdma.c | 4 +---
    > drivers/dma/sun4i-dma.c | 7 ++-----
    > drivers/dma/sun6i-dma.c | 7 ++-----
    > drivers/dma/tegra20-apb-dma.c | 8 ++------
    > drivers/dma/tegra210-adma.c | 8 ++------
    > drivers/dma/ti/Kconfig | 2 +-
    > drivers/dma/ti/cppi41.c | 7 ++-----
    > drivers/dma/ti/edma.c | 8 ++------
    > drivers/dma/ti/omap-dma.c | 5 +----
    > drivers/dma/timb_dma.c | 3 +--
    > drivers/dma/txx9dmac.c | 4 +---
    > drivers/dma/xgene-dma.c | 16 ++--------------
    > drivers/dma/xilinx/xilinx_dma.c | 5 +----
    > drivers/dma/xilinx/zynqmp_dma.c | 4 +---
    > drivers/dma/zx_dma.c | 7 ++-----
    > 47 files changed, 88 insertions(+), 221 deletions(-)
    >

    Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
    Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

    \
     
     \ /
      Last update: 2018-08-03 10:22    [W:7.737 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site