Re: [PATCH 1/1] tty: serial: use dmaengine_desc_set_callback()

From: Krzysztof Kozlowski

Date: Wed Nov 04 2026 - 12:49:29 EST


On 02/11/2026 18:54, 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 across serial drivers.
>
> No functional change intended. Prepare to make struct
> dma_async_tx_descriptor private to the DMA engine.
>
> Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
> ---
> drivers/tty/serial/8250/8250_dma.c | 6 ++----
> drivers/tty/serial/8250/8250_mtk.c | 3 +--
> drivers/tty/serial/8250/8250_omap.c | 6 ++----
> drivers/tty/serial/amba-pl011.c | 6 ++----
> drivers/tty/serial/atmel_serial.c | 6 ++----
> drivers/tty/serial/fsl_lpuart.c | 6 ++----
> drivers/tty/serial/imx.c | 6 ++----
> drivers/tty/serial/msm_serial.c | 6 ++----
> drivers/tty/serial/mxs-auart.c | 6 ++----
> drivers/tty/serial/pch_uart.c | 6 ++----
> drivers/tty/serial/samsung_tty.c | 6 ++----
> drivers/tty/serial/serial-tegra.c | 6 ++----
> drivers/tty/serial/sh-sci.c | 9 +++------
> drivers/tty/serial/sprd_serial.c | 3 +--
> drivers/tty/serial/stm32-usart.c | 6 ++----
> 15 files changed, 29 insertions(+), 58 deletions(-)

...
I did not look at this code at all...

> index 640f85e2d636b..3f82a83998e1c 100644
> --- a/drivers/tty/serial/samsung_tty.c
> +++ b/drivers/tty/serial/samsung_tty.c
> @@ -447,8 +447,7 @@ static int s3c24xx_serial_start_tx_dma(struct s3c24xx_uart_port *ourport,
> return -EIO;
> }
>
> - dma->tx_desc->callback = s3c24xx_serial_tx_dma_complete;
> - dma->tx_desc->callback_param = ourport;
> + dmaengine_desc_set_callback(dma->tx_desc, s3c24xx_serial_tx_dma_complete, NULL, ourport);
> dma->tx_bytes_requested = dma->tx_size;
>
> ourport->tx_in_progress = S3C24XX_TX_DMA;
> @@ -642,8 +641,7 @@ static void s3c64xx_start_rx_dma(struct s3c24xx_uart_port *ourport)
> return;
> }
>
> - dma->rx_desc->callback = s3c24xx_serial_rx_dma_complete;
> - dma->rx_desc->callback_param = ourport;
> + dmaengine_desc_set_callback(dma->rx_desc, s3c24xx_serial_rx_dma_complete, NULL, ourport);
> dma->rx_bytes_requested = dma->rx_size;
>


... but apparently reviewing only a few lines out of 400 is still reviewing:

https://lore.kernel.org/all/9e39502a-dd17-4fa2-98a3-9019523cb5e8@xxxxxxxxxx/

Therefore:

Reviewed-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx>


Best regards,
Krzysztof