[PATCH v2 1/1] spi: use dmaengine_desc_set_callback()

Krzysztof Kozlowski krzk at kernel.org
Wed Nov 4 09:25:32 PST 2026


On 04/11/2026 16:22, Frank.Li at oss.nxp.com wrote:
> From: Frank Li <Frank.Li at nxp.com>
> 
> Replace open-coded assignments to callback and callback_param fields
> of struct dma_async_tx_descriptor with calls to the
> dmaengine_desc_set_callback() helper across SPI bus drivers.
> 
> No functional change intended. Prepare make to struct
> dma_async_tx_descriptor private to the DMA engine.
> 
> Reviewed-by: Linus Walleij <linusw at kernel.org>
> Reviewed-by: Mukesh Kumar Savaliya <mukesh.savaliya at oss.qualcomm.com>
> Acked-by: Alain Volmat <alain.volmat at foss.st.com>
> Reviewed-by: Wolfram Sang <wsa+renesas at sang-engineering.com>
> Reviewed-by: Troy Mitchell <troy.mitchell at linux.spacemit.com>
> Reviewed-by: Kunihiko Hayashi <hayashi.kunihiko at socionext.com>
> Acked-by: Thierry Reding <treding at nvidia.com>
> Signed-off-by: Frank Li <Frank.Li at nxp.com>
> ---
> change in v2
> - add missed set_callback in rspi_dma_transfer() (sashiko
> - collect review by tags
> - drop void *
> ---
>  drivers/spi/atmel-quadspi.c       | 3 +--
>  drivers/spi/spi-at91-usart.c      | 3 +--
>  drivers/spi/spi-atcspi200.c       | 3 +--
>  drivers/spi/spi-atmel.c           | 3 +--
>  drivers/spi/spi-bcm2835.c         | 6 ++----
>  drivers/spi/spi-cadence-quadspi.c | 3 +--
>  drivers/spi/spi-davinci.c         | 6 ++----
>  drivers/spi/spi-dw-dma.c          | 6 ++----
>  drivers/spi/spi-ep93xx.c          | 3 +--
>  drivers/spi/spi-fsl-dspi.c        | 6 ++----
>  drivers/spi/spi-fsl-lpspi.c       | 6 ++----
>  drivers/spi/spi-geni-qcom.c       | 3 +--
>  drivers/spi/spi-img-spfi.c        | 6 ++----
>  drivers/spi/spi-imx.c             | 6 ++----
>  drivers/spi/spi-ingenic.c         | 3 +--
>  drivers/spi/spi-mxs.c             | 3 +--
>  drivers/spi/spi-nxp-xspi.c        | 3 +--
>  drivers/spi/spi-omap2-mcspi.c     | 6 ++----
>  drivers/spi/spi-pic32.c           | 3 +--
>  drivers/spi/spi-pl022.c           | 3 +--
>  drivers/spi/spi-pxa2xx-dma.c      | 3 +--
>  drivers/spi/spi-qup.c             | 3 +--
>  drivers/spi/spi-rockchip.c        | 6 ++----
>  drivers/spi/spi-rspi.c            | 8 +++-----
>  drivers/spi/spi-rzv2h-rspi.c      | 3 +--
>  drivers/spi/spi-s3c64xx.c         | 3 +--
>  drivers/spi/spi-sh-msiof.c        | 6 ++----
>  drivers/spi/spi-spacemit-k1.c     | 3 +--
>  drivers/spi/spi-stm32-ospi.c      | 3 +--
>  drivers/spi/spi-stm32-qspi.c      | 3 +--
>  drivers/spi/spi-stm32.c           | 9 +++------
>  drivers/spi/spi-sun6i.c           | 3 +--
>  drivers/spi/spi-tegra114.c        | 6 ++----
>  drivers/spi/spi-tegra20-slink.c   | 6 ++----
>  drivers/spi/spi-tegra210-quad.c   | 6 ++----
>  drivers/spi/spi-ti-qspi.c         | 3 +--
>  drivers/spi/spi-topcliff-pch.c    | 6 ++----
>  drivers/spi/spi-uniphier.c        | 6 ++----
>  38 files changed, 57 insertions(+), 113 deletions(-)
> 
> diff --git a/drivers/spi/atmel-quadspi.c b/drivers/spi/atmel-quadspi.c
> index 762a3fb0fca81..de205e04a8600 100644
> --- a/drivers/spi/atmel-quadspi.c
> +++ b/drivers/spi/atmel-quadspi.c
> @@ -790,8 +790,7 @@ static int atmel_qspi_dma_xfer(struct atmel_qspi *aq, struct dma_chan *chan,
>  	}
>  
>  	reinit_completion(&aq->dma_completion);
> -	tx->callback = atmel_qspi_dma_callback;
> -	tx->callback_param = aq;
> +	dmaengine_desc_set_callback(tx, atmel_qspi_dma_callback, NULL, aq);

Andy,
These three lines look correct.

LGTM:

Reviewed-by: Krzysztof Kozlowski <krzk at kernel.org>

Best regards,
Krzysztof



More information about the linux-riscv mailing list