mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Frank.Li@oss.nxp.com
To: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Jiri Slaby" <jirislaby@kernel.org>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"AngeloGioacchino Del Regno"
	<angelogioacchino.delregno@collabora.com>,
	"Russell King" <linux@armlinux.org.uk>,
	"Richard Genoud" <richard.genoud@bootlin.com>,
	"Nicolas Ferre" <nicolas.ferre@microchip.com>,
	"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
	"Claudiu Beznea" <claudiu.beznea@tuxon.dev>,
	"Frank Li" <Frank.Li@nxp.com>,
	"Sascha Hauer" <s.hauer@pengutronix.de>,
	"Pengutronix Kernel Team" <kernel@pengutronix.de>,
	"Fabio Estevam" <festevam@gmail.com>,
	"Krzysztof Kozlowski" <krzk@kernel.org>,
	"Peter Griffin" <peter.griffin@linaro.org>,
	"Alim Akhtar" <alim.akhtar@samsung.com>,
	"Laxman Dewangan" <ldewangan@nvidia.com>,
	"Thierry Reding" <thierry.reding@kernel.org>,
	"Jonathan Hunter" <jonathanh@nvidia.com>,
	"Orson Zhai" <orsonzhai@gmail.com>,
	"Baolin Wang" <baolin.wang@linux.alibaba.com>,
	"Chunyan Zhang" <zhang.lyra@gmail.com>,
	"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
	"Alexandre Torgue" <alexandre.torgue@foss.st.com>,
	"Cunhao Lu" <1579567540@qq.com>,
	"Raul E Rangel" <rrangel@chromium.org>,
	"Yenchia Chen" <yenchia.chen@mediatek.com>,
	"Zhiyong Tao" <zhiyong.tao@mediatek.com>,
	"Carlo Caione" <ccaione@baylibre.com>,
	"Moteen Shah" <m-shah@ti.com>, "Kendall Willis" <k-willis@ti.com>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Kartik Rajput" <kkartik@nvidia.com>,
	"Fan Wu" <fanwu01@zju.edu.cn>,
	"Nicolai Buchwitz" <nb@tipi-net.de>,
	"Karl Mehltretter" <kmehltretter@gmail.com>,
	"Stefan Dösinger" <stefandoesinger@gmail.com>,
	"Shitalkumar Gandhi" <shital.gandhi45@gmail.com>,
	"Peng Fan" <peng.fan@nxp.com>, "Sherry Sun" <sherry.sun@nxp.com>,
	"John Ogness" <john.ogness@linutronix.de>,
	"Pan Chuang" <panchuang@vivo.com>,
	"Petr Mladek" <pmladek@suse.com>,
	"Robin Gong" <yibin.gong@nxp.com>,
	"Konrad Dybcio" <konrad.dybcio@oss.qualcomm.com>,
	"Stephan Gerhold" <stephan.gerhold@linaro.org>,
	"Zhaoyang Yu" <2426767509@qq.com>,
	"Nikola Z. Ivanov" <zlatistiv@gmail.com>,
	"Haoxiang Li" <haoxiang_li2024@163.com>,
	"Mike Rapoport (Microsoft)" <rppt@kernel.org>,
	"Biju Das" <biju.das.jz@bp.renesas.com>,
	"Geert Uytterhoeven" <geert+renesas@glider.be>,
	"Myeonghun Pak" <mhun512@gmail.com>,
	"Wenhua Lin" <Wenhua.Lin@unisoc.com>,
	"Cixi Geng" <cixi.geng@linux.dev>,
	linux-kernel@vger.kernel.org (open list:TTY LAYER AND SERIAL
	DRIVERS),
	linux-serial@vger.kernel.org (open list:TTY LAYER AND SERIAL
	DRIVERS),
	linux-arm-kernel@lists.infradead.org (moderated
	list:ARM/Mediatek SoC support),
	linux-mediatek@lists.infradead.org (moderated list:ARM/Mediatek
	SoC support),
	imx@lists.linux.dev (open list:ARM/FREESCALE IMX / MXC /
	LAYERSCAPE ARM ARCHIT...),
	linux-arm-msm@vger.kernel.org (open list:ARM/QUALCOMM MAILING
	LIST),
	linux-samsung-soc@vger.kernel.org (open list:ARM/SAMSUNG S3C,
	S5P AND EXYNOS ARM ARCHITECTURES),
	linux-tegra@vger.kernel.org (open list:TEGRA ARCHITECTURE
	SUPPORT),
	linux-stm32@st-md-mailman.stormreply.com (moderated
	list:ARM/STM32 ARCHITECTURE)
Cc: imx@lists.linux.dev, vkoul@kernel.org
Subject: [PATCH 1/1] tty: serial: use dmaengine_desc_set_callback()
Date: Mon,  2 Nov 2026 12:54:48 -0500	[thread overview]
Message-ID: <20261102175527.3957740-1-Frank.Li@oss.nxp.com> (raw)

From: Frank Li <Frank.Li@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 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@nxp.com>
---
 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(-)

diff --git a/drivers/tty/serial/8250/8250_dma.c b/drivers/tty/serial/8250/8250_dma.c
index 1da605cc86011..7d42afe1ce33b 100644
--- a/drivers/tty/serial/8250/8250_dma.c
+++ b/drivers/tty/serial/8250/8250_dma.c
@@ -131,8 +131,7 @@ int serial8250_tx_dma(struct uart_8250_port *p)
 	}
 
 	dma->tx_running = 1;
-	desc->callback = __dma_tx_complete;
-	desc->callback_param = p;
+	dmaengine_desc_set_callback(desc, __dma_tx_complete, NULL, p);
 
 	dma->tx_cookie = dmaengine_submit(desc);
 
@@ -197,8 +196,7 @@ int serial8250_rx_dma(struct uart_8250_port *p)
 		return -EBUSY;
 
 	dma->rx_running = 1;
-	desc->callback = dma_rx_complete;
-	desc->callback_param = p;
+	dmaengine_desc_set_callback(desc, dma_rx_complete, NULL, p);
 
 	dma->rx_cookie = dmaengine_submit(desc);
 
diff --git a/drivers/tty/serial/8250/8250_mtk.c b/drivers/tty/serial/8250/8250_mtk.c
index d1fb917b762a1..442856b3fe6d9 100644
--- a/drivers/tty/serial/8250/8250_mtk.c
+++ b/drivers/tty/serial/8250/8250_mtk.c
@@ -147,8 +147,7 @@ static void mtk8250_rx_dma(struct uart_8250_port *up)
 		return;
 	}
 
-	desc->callback = mtk8250_dma_rx_complete;
-	desc->callback_param = up;
+	dmaengine_desc_set_callback(desc, mtk8250_dma_rx_complete, NULL, up);
 
 	dma->rx_cookie = dmaengine_submit(desc);
 
diff --git a/drivers/tty/serial/8250/8250_omap.c b/drivers/tty/serial/8250/8250_omap.c
index 29a203ed93fd8..9bdc0f00dec5a 100644
--- a/drivers/tty/serial/8250/8250_omap.c
+++ b/drivers/tty/serial/8250/8250_omap.c
@@ -1048,8 +1048,7 @@ static int omap_8250_rx_dma(struct uart_8250_port *p)
 	}
 
 	dma->rx_running = 1;
-	desc->callback = __dma_rx_complete;
-	desc->callback_param = p;
+	dmaengine_desc_set_callback(desc, __dma_rx_complete, NULL, p);
 
 	dma->rx_cookie = dmaengine_submit(desc);
 
@@ -1192,8 +1191,7 @@ static int omap_8250_tx_dma(struct uart_8250_port *p)
 	dma->tx_size = sg_dma_len(&sg);
 	dma->tx_running = 1;
 
-	desc->callback = omap_8250_dma_tx_complete;
-	desc->callback_param = p;
+	dmaengine_desc_set_callback(desc, omap_8250_dma_tx_complete, NULL, p);
 
 	dma->tx_cookie = dmaengine_submit(desc);
 
diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c
index e6f652905ca6f..e7373cd11b621 100644
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -715,8 +715,7 @@ static int pl011_dma_tx_refill(struct uart_amba_port *uap)
 	}
 
 	/* Some data to go along to the callback */
-	desc->callback = pl011_dma_tx_callback;
-	desc->callback_param = uap;
+	dmaengine_desc_set_callback(desc, pl011_dma_tx_callback, NULL, uap);
 
 	/* All errors should happen at prepare time */
 	dmaengine_submit(desc);
@@ -906,8 +905,7 @@ static int pl011_dma_rx_trigger_dma(struct uart_amba_port *uap)
 	}
 
 	/* Some data to go along to the callback */
-	desc->callback = pl011_dma_rx_callback;
-	desc->callback_param = uap;
+	dmaengine_desc_set_callback(desc, pl011_dma_rx_callback, NULL, uap);
 	dmarx->cookie = dmaengine_submit(desc);
 	dma_async_issue_pending(rxchan);
 
diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c
index c3880259e3bce..886280bc8464a 100644
--- a/drivers/tty/serial/atmel_serial.c
+++ b/drivers/tty/serial/atmel_serial.c
@@ -993,8 +993,7 @@ static void atmel_tx_dma(struct uart_port *port)
 					   UART_XMIT_SIZE, DMA_TO_DEVICE);
 
 		atmel_port->desc_tx = desc;
-		desc->callback = atmel_complete_tx_dma;
-		desc->callback_param = atmel_port;
+		dmaengine_desc_set_callback(desc, atmel_complete_tx_dma, NULL, atmel_port);
 		atmel_port->cookie_tx = dmaengine_submit(desc);
 		if (dma_submit_error(atmel_port->cookie_tx)) {
 			dev_err(port->dev, "dma_submit_error %d\n",
@@ -1242,8 +1241,7 @@ static int atmel_prepare_rx_dma(struct uart_port *port)
 		dev_err(port->dev, "Preparing DMA cyclic failed\n");
 		goto chan_err;
 	}
-	desc->callback = atmel_complete_rx_dma;
-	desc->callback_param = port;
+	dmaengine_desc_set_callback(desc, atmel_complete_rx_dma, NULL, port);
 	atmel_port->desc_rx = desc;
 	atmel_port->cookie_rx = dmaengine_submit(desc);
 	if (dma_submit_error(atmel_port->cookie_rx)) {
diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c
index c8575c9652035..3213519776b35 100644
--- a/drivers/tty/serial/fsl_lpuart.c
+++ b/drivers/tty/serial/fsl_lpuart.c
@@ -508,8 +508,7 @@ static void lpuart_dma_tx(struct lpuart_port *sport)
 		return;
 	}
 
-	sport->dma_tx_desc->callback = lpuart_dma_tx_complete;
-	sport->dma_tx_desc->callback_param = sport;
+	dmaengine_desc_set_callback(sport->dma_tx_desc, lpuart_dma_tx_complete, NULL, sport);
 	sport->dma_tx_in_progress = true;
 	sport->dma_tx_cookie = dmaengine_submit(sport->dma_tx_desc);
 	dma_async_issue_pending(chan);
@@ -1407,8 +1406,7 @@ static inline int lpuart_start_rx_dma(struct lpuart_port *sport)
 		goto err_unmap_sg;
 	}
 
-	sport->dma_rx_desc->callback = lpuart_dma_rx_complete;
-	sport->dma_rx_desc->callback_param = sport;
+	dmaengine_desc_set_callback(sport->dma_rx_desc, lpuart_dma_rx_complete, NULL, sport);
 	sport->dma_rx_cookie = dmaengine_submit(sport->dma_rx_desc);
 	dma_async_issue_pending(chan);
 
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 986fefb45c632..c83da7c48b675 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -655,8 +655,7 @@ static void imx_uart_dma_tx(struct imx_port *sport)
 		dev_err(dev, "We cannot prepare for the TX slave dma!\n");
 		return;
 	}
-	desc->callback = imx_uart_dma_tx_callback;
-	desc->callback_param = sport;
+	dmaengine_desc_set_callback(desc, imx_uart_dma_tx_callback, NULL, sport);
 
 	dev_dbg(dev, "TX: prepare to send %u bytes by DMA.\n", sport->tx_bytes);
 
@@ -1294,8 +1293,7 @@ static int imx_uart_start_rx_dma(struct imx_port *sport)
 		dev_err(dev, "We cannot prepare for the RX slave dma!\n");
 		return -EINVAL;
 	}
-	desc->callback = imx_uart_dma_rx_callback;
-	desc->callback_param = sport;
+	dmaengine_desc_set_callback(desc, imx_uart_dma_rx_callback, NULL, sport);
 
 	dev_dbg(dev, "RX: prepare for the DMA.\n");
 	sport->dma_is_rxing = 1;
diff --git a/drivers/tty/serial/msm_serial.c b/drivers/tty/serial/msm_serial.c
index bfa44b01c3e97..62c7872f9ffbd 100644
--- a/drivers/tty/serial/msm_serial.c
+++ b/drivers/tty/serial/msm_serial.c
@@ -521,8 +521,7 @@ static int msm_handle_tx_dma(struct msm_port *msm_port, unsigned int count)
 		goto unmap;
 	}
 
-	dma->desc->callback = msm_complete_tx_dma;
-	dma->desc->callback_param = msm_port;
+	dmaengine_desc_set_callback(dma->desc, msm_complete_tx_dma, NULL, msm_port);
 
 	dma->cookie = dmaengine_submit(dma->desc);
 	ret = dma_submit_error(dma->cookie);
@@ -642,8 +641,7 @@ static void msm_start_rx_dma(struct msm_port *msm_port)
 	if (!dma->desc)
 		goto unmap;
 
-	dma->desc->callback = msm_complete_rx_dma;
-	dma->desc->callback_param = msm_port;
+	dmaengine_desc_set_callback(dma->desc, msm_complete_rx_dma, NULL, msm_port);
 
 	dma->cookie = dmaengine_submit(dma->desc);
 	ret = dma_submit_error(dma->cookie);
diff --git a/drivers/tty/serial/mxs-auart.c b/drivers/tty/serial/mxs-auart.c
index 697318dbb146b..0b39dd2d653ee 100644
--- a/drivers/tty/serial/mxs-auart.c
+++ b/drivers/tty/serial/mxs-auart.c
@@ -559,8 +559,7 @@ static int mxs_auart_dma_tx(struct mxs_auart_port *s, int size)
 	}
 
 	/* [3] : submit the DMA */
-	desc->callback = dma_tx_callback;
-	desc->callback_param = s;
+	dmaengine_desc_set_callback(desc, dma_tx_callback, NULL, s);
 	dmaengine_submit(desc);
 	dma_async_issue_pending(channel);
 	return 0;
@@ -858,8 +857,7 @@ static int mxs_auart_dma_prep_rx(struct mxs_auart_port *s)
 	}
 
 	/* [3] : submit the DMA, but do not issue it. */
-	desc->callback = dma_rx_callback;
-	desc->callback_param = s;
+	dmaengine_desc_set_callback(desc, dma_rx_callback, NULL, s);
 	dmaengine_submit(desc);
 	dma_async_issue_pending(channel);
 	return 0;
diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c
index 9505d255f09c5..8f3ffe39a5857 100644
--- a/drivers/tty/serial/pch_uart.c
+++ b/drivers/tty/serial/pch_uart.c
@@ -809,8 +809,7 @@ static int dma_handle_rx(struct eg20t_port *priv)
 		return 0;
 
 	priv->desc_rx = desc;
-	desc->callback = pch_dma_rx_complete;
-	desc->callback_param = priv;
+	dmaengine_desc_set_callback(desc, pch_dma_rx_complete, NULL, priv);
 	dmaengine_submit(desc);
 	dma_async_issue_pending(priv->chan_rx);
 
@@ -968,8 +967,7 @@ static unsigned int dma_handle_tx(struct eg20t_port *priv)
 	}
 	dma_sync_sg_for_device(port->dev, priv->sg_tx_p, num, DMA_TO_DEVICE);
 	priv->desc_tx = desc;
-	desc->callback = pch_dma_tx_complete;
-	desc->callback_param = priv;
+	dmaengine_desc_set_callback(desc, pch_dma_tx_complete, NULL, priv);
 
 	dmaengine_submit(desc);
 
diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
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;
 
 	dma->rx_cookie = dmaengine_submit(dma->rx_desc);
diff --git a/drivers/tty/serial/serial-tegra.c b/drivers/tty/serial/serial-tegra.c
index b0fc4ae3686f8..05ba808bdbaef 100644
--- a/drivers/tty/serial/serial-tegra.c
+++ b/drivers/tty/serial/serial-tegra.c
@@ -568,8 +568,7 @@ static int tegra_uart_start_tx_dma(struct tegra_uart_port *tup,
 		return -EIO;
 	}
 
-	tup->tx_dma_desc->callback = tegra_uart_tx_dma_complete;
-	tup->tx_dma_desc->callback_param = tup;
+	dmaengine_desc_set_callback(tup->tx_dma_desc, tegra_uart_tx_dma_complete, NULL, tup);
 	tup->tx_in_progress = TEGRA_UART_TX_DMA;
 	tup->tx_bytes_requested = tup->tx_bytes;
 	tup->tx_cookie = dmaengine_submit(tup->tx_dma_desc);
@@ -817,8 +816,7 @@ static int tegra_uart_start_rx_dma(struct tegra_uart_port *tup)
 	}
 
 	tup->rx_dma_active = true;
-	tup->rx_dma_desc->callback = tegra_uart_rx_dma_complete;
-	tup->rx_dma_desc->callback_param = tup;
+	dmaengine_desc_set_callback(tup->rx_dma_desc, tegra_uart_rx_dma_complete, NULL, tup);
 	tup->rx_bytes_requested = count;
 	tup->rx_cookie = dmaengine_submit(tup->rx_dma_desc);
 	dma_async_issue_pending(tup->rx_dma_chan);
diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
index bd58bbfa65aa7..f7b4d35b2d5bb 100644
--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
@@ -1556,8 +1556,7 @@ static void sci_dma_rx_complete(void *arg)
 	if (!desc)
 		goto fail;
 
-	desc->callback = sci_dma_rx_complete;
-	desc->callback_param = s;
+	dmaengine_desc_set_callback(desc, sci_dma_rx_complete, NULL, s);
 	s->cookie_rx[active] = dmaengine_submit(desc);
 	if (dma_submit_error(s->cookie_rx[active]))
 		goto fail;
@@ -1613,8 +1612,7 @@ static int sci_dma_rx_submit(struct sci_port *s, bool port_lock_held)
 		if (!desc)
 			goto fail;
 
-		desc->callback = sci_dma_rx_complete;
-		desc->callback_param = s;
+		dmaengine_desc_set_callback(desc, sci_dma_rx_complete, NULL, s);
 		s->cookie_rx[i] = dmaengine_submit(desc);
 		if (dma_submit_error(s->cookie_rx[i]))
 			goto fail;
@@ -1679,8 +1677,7 @@ static void sci_dma_tx_work_fn(struct work_struct *work)
 	dma_sync_single_for_device(dmaengine_get_dma_device(chan), buf, s->tx_dma_len,
 				   DMA_TO_DEVICE);
 
-	desc->callback = sci_dma_tx_complete;
-	desc->callback_param = s;
+	dmaengine_desc_set_callback(desc, sci_dma_tx_complete, NULL, s);
 	s->cookie_tx = dmaengine_submit(desc);
 	if (dma_submit_error(s->cookie_tx)) {
 		uart_port_unlock_irq(port);
diff --git a/drivers/tty/serial/sprd_serial.c b/drivers/tty/serial/sprd_serial.c
index 3fdf5939a62c1..3801b0c03482f 100644
--- a/drivers/tty/serial/sprd_serial.c
+++ b/drivers/tty/serial/sprd_serial.c
@@ -303,8 +303,7 @@ static int sprd_uart_dma_submit(struct uart_port *port,
 	if (!dma_des)
 		return -ENODEV;
 
-	dma_des->callback = callback;
-	dma_des->callback_param = port;
+	dmaengine_desc_set_callback(dma_des, callback, NULL, port);
 
 	ud->cookie = dmaengine_submit(dma_des);
 	if (dma_submit_error(ud->cookie))
diff --git a/drivers/tty/serial/stm32-usart.c b/drivers/tty/serial/stm32-usart.c
index ad06b760cfca7..a27b8797ad953 100644
--- a/drivers/tty/serial/stm32-usart.c
+++ b/drivers/tty/serial/stm32-usart.c
@@ -585,8 +585,7 @@ static int stm32_usart_rx_dma_start_or_resume(struct uart_port *port)
 		return -ENODEV;
 	}
 
-	desc->callback = stm32_usart_rx_dma_complete;
-	desc->callback_param = port;
+	dmaengine_desc_set_callback(desc, stm32_usart_rx_dma_complete, NULL, port);
 
 	/* Push current DMA transaction in the pending queue */
 	ret = dma_submit_error(dmaengine_submit(desc));
@@ -753,8 +752,7 @@ static void stm32_usart_transmit_chars_dma(struct uart_port *port)
 	 */
 	stm32port->tx_dma_busy = true;
 
-	desc->callback = stm32_usart_tx_dma_complete;
-	desc->callback_param = port;
+	dmaengine_desc_set_callback(desc, stm32_usart_tx_dma_complete, NULL, port);
 
 	/* Push current DMA TX transaction in the pending queue */
 	/* DMA no yet started, safe to free resources */
-- 
2.43.0


             reply	other threads:[~2026-11-02 17:56 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-02 17:54 Frank.Li [this message]
2026-11-03 11:39 ` Nicolai Buchwitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261102175527.3957740-1-Frank.Li@oss.nxp.com \
    --to=frank.li@oss.nxp.com \
    --cc=1579567540@qq.com \
    --cc=2426767509@qq.com \
    --cc=Frank.Li@nxp.com \
    --cc=Wenhua.Lin@unisoc.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=alim.akhtar@samsung.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=biju.das.jz@bp.renesas.com \
    --cc=ccaione@baylibre.com \
    --cc=cixi.geng@linux.dev \
    --cc=claudiu.beznea@tuxon.dev \
    --cc=fanwu01@zju.edu.cn \
    --cc=festevam@gmail.com \
    --cc=geert+renesas@glider.be \
    --cc=gregkh@linuxfoundation.org \
    --cc=haoxiang_li2024@163.com \
    --cc=imx@lists.linux.dev \
    --cc=jirislaby@kernel.org \
    --cc=john.ogness@linutronix.de \
    --cc=jonathanh@nvidia.com \
    --cc=k-willis@ti.com \
    --cc=kernel@pengutronix.de \
    --cc=kkartik@nvidia.com \
    --cc=kmehltretter@gmail.com \
    --cc=konrad.dybcio@oss.qualcomm.com \
    --cc=krzk@kernel.org \
    --cc=ldewangan@nvidia.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=m-shah@ti.com \
    --cc=matthias.bgg@gmail.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=mhun512@gmail.com \
    --cc=nb@tipi-net.de \
    --cc=nicolas.ferre@microchip.com \
    --cc=orsonzhai@gmail.com \
    --cc=panchuang@vivo.com \
    --cc=peng.fan@nxp.com \
    --cc=peter.griffin@linaro.org \
    --cc=pmladek@suse.com \
    --cc=richard.genoud@bootlin.com \
    --cc=rppt@kernel.org \
    --cc=rrangel@chromium.org \
    --cc=s.hauer@pengutronix.de \
    --cc=sherry.sun@nxp.com \
    --cc=shital.gandhi45@gmail.com \
    --cc=stefandoesinger@gmail.com \
    --cc=stephan.gerhold@linaro.org \
    --cc=thierry.reding@kernel.org \
    --cc=vkoul@kernel.org \
    --cc=yenchia.chen@mediatek.com \
    --cc=yibin.gong@nxp.com \
    --cc=zhang.lyra@gmail.com \
    --cc=zhiyong.tao@mediatek.com \
    --cc=zlatistiv@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®