Re: [PATCH 1/1] iio: use dmaengine_desc_set_callback()
From: Nuno Sá
Date: Tue Nov 03 2026 - 05:41:36 EST
On Mon, Nov 02, 2026 at 12:08:47PM -0500, Frank.Li@xxxxxxxxxxx wrote:
> From: Frank Li <Frank.Li@xxxxxxx>
>
> 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.
>
> No functional change intended. Prepare make to struct
> dma_async_tx_descriptor private to the DMA engine.
>
> Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
> ---
Reviewed-by: Nuno Sá <nuno.sa@xxxxxxxxxx>
> drivers/iio/adc/at91-sama5d2_adc.c | 3 +--
> drivers/iio/adc/nxp-sar-adc.c | 3 +--
> drivers/iio/adc/rzt2h_adc.c | 3 +--
> drivers/iio/adc/stm32-adc.c | 3 +--
> drivers/iio/adc/stm32-dfsdm-adc.c | 3 +--
> drivers/iio/adc/ti_am335x_adc.c | 3 +--
> drivers/iio/buffer/industrialio-buffer-dmaengine.c | 3 +--
> 7 files changed, 7 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/iio/adc/at91-sama5d2_adc.c b/drivers/iio/adc/at91-sama5d2_adc.c
> index 78081cbfde5e8..d479c9bc9b3e8 100644
> --- a/drivers/iio/adc/at91-sama5d2_adc.c
> +++ b/drivers/iio/adc/at91-sama5d2_adc.c
> @@ -1240,8 +1240,7 @@ static int at91_adc_dma_start(struct iio_dev *indio_dev)
> return -EBUSY;
> }
>
> - desc->callback = at91_dma_buffer_done;
> - desc->callback_param = indio_dev;
> + dmaengine_desc_set_callback(desc, at91_dma_buffer_done, NULL, indio_dev);
>
> cookie = dmaengine_submit(desc);
> ret = dma_submit_error(cookie);
> diff --git a/drivers/iio/adc/nxp-sar-adc.c b/drivers/iio/adc/nxp-sar-adc.c
> index 2f716a2f97b80..82d8d921b0293 100644
> --- a/drivers/iio/adc/nxp-sar-adc.c
> +++ b/drivers/iio/adc/nxp-sar-adc.c
> @@ -696,8 +696,7 @@ static int nxp_sar_adc_start_cyclic_dma(struct iio_dev *indio_dev)
> if (!desc)
> return -EINVAL;
>
> - desc->callback = nxp_sar_adc_dma_cb;
> - desc->callback_param = indio_dev;
> + dmaengine_desc_set_callback(desc, nxp_sar_adc_dma_cb, NULL, indio_dev);
> info->cookie = dmaengine_submit(desc);
> ret = dma_submit_error(info->cookie);
> if (ret) {
> diff --git a/drivers/iio/adc/rzt2h_adc.c b/drivers/iio/adc/rzt2h_adc.c
> index 8ba7b0fde8a19..3e52b7d660dd3 100644
> --- a/drivers/iio/adc/rzt2h_adc.c
> +++ b/drivers/iio/adc/rzt2h_adc.c
> @@ -394,8 +394,7 @@ static int rzt2h_adc_start_dma(struct iio_dev *indio_dev)
> if (!desc)
> return -EBUSY;
>
> - desc->callback = rzt2h_adc_dma_callback;
> - desc->callback_param = indio_dev;
> + dmaengine_desc_set_callback(desc, rzt2h_adc_dma_callback, NULL, indio_dev);
>
> cookie = dmaengine_submit(desc);
> ret = dma_submit_error(cookie);
> diff --git a/drivers/iio/adc/stm32-adc.c b/drivers/iio/adc/stm32-adc.c
> index 600f975f1d7b5..fa2a781e37777 100644
> --- a/drivers/iio/adc/stm32-adc.c
> +++ b/drivers/iio/adc/stm32-adc.c
> @@ -1901,8 +1901,7 @@ static int stm32_adc_dma_start(struct iio_dev *indio_dev)
> if (!desc)
> return -EBUSY;
>
> - desc->callback = stm32_adc_dma_buffer_done;
> - desc->callback_param = indio_dev;
> + dmaengine_desc_set_callback(desc, stm32_adc_dma_buffer_done, NULL, indio_dev);
>
> cookie = dmaengine_submit(desc);
> ret = dma_submit_error(cookie);
> diff --git a/drivers/iio/adc/stm32-dfsdm-adc.c b/drivers/iio/adc/stm32-dfsdm-adc.c
> index 674767da3ac37..f0239f5f30afe 100644
> --- a/drivers/iio/adc/stm32-dfsdm-adc.c
> +++ b/drivers/iio/adc/stm32-dfsdm-adc.c
> @@ -1006,8 +1006,7 @@ static int stm32_dfsdm_adc_dma_start(struct iio_dev *indio_dev)
> if (!desc)
> return -EBUSY;
>
> - desc->callback = stm32_dfsdm_dma_buffer_done;
> - desc->callback_param = indio_dev;
> + dmaengine_desc_set_callback(desc, stm32_dfsdm_dma_buffer_done, NULL, indio_dev);
>
> cookie = dmaengine_submit(desc);
> ret = dma_submit_error(cookie);
> diff --git a/drivers/iio/adc/ti_am335x_adc.c b/drivers/iio/adc/ti_am335x_adc.c
> index e53c839e87ef3..230f1c990317a 100644
> --- a/drivers/iio/adc/ti_am335x_adc.c
> +++ b/drivers/iio/adc/ti_am335x_adc.c
> @@ -259,8 +259,7 @@ static int tiadc_start_dma(struct iio_dev *indio_dev)
> if (!desc)
> return -EBUSY;
>
> - desc->callback = tiadc_dma_rx_complete;
> - desc->callback_param = indio_dev;
> + dmaengine_desc_set_callback(desc, tiadc_dma_rx_complete, NULL, indio_dev);
>
> dma->cookie = dmaengine_submit(desc);
>
> diff --git a/drivers/iio/buffer/industrialio-buffer-dmaengine.c b/drivers/iio/buffer/industrialio-buffer-dmaengine.c
> index b9f8b5b3aa6b6..7ecb9d875b8e8 100644
> --- a/drivers/iio/buffer/industrialio-buffer-dmaengine.c
> +++ b/drivers/iio/buffer/industrialio-buffer-dmaengine.c
> @@ -160,8 +160,7 @@ static int iio_dmaengine_buffer_submit_block(struct iio_dma_buffer_queue *queue,
> return -ENOMEM;
>
> if (!block->cyclic) {
> - desc->callback_result = iio_dmaengine_buffer_block_done;
> - desc->callback_param = block;
> + dmaengine_desc_set_callback(desc, NULL, iio_dmaengine_buffer_block_done, block);
> }
>
> cookie = dmaengine_submit(desc);
> --
> 2.43.0
>