Re: [PATCH 1/1] tty: replace chan->device->dev with dmaengine_get_provider_device()
From: Ilpo Järvinen
Date: Tue Nov 03 2026 - 17:54:34 EST
On Tue, 3 Nov 2026, Frank.Li@xxxxxxxxxxx wrote:
> From: Frank Li <Frank.Li@xxxxxxx>
>
> Use the dmaengine_get_provider_device() API instead of directly
> accessing chan->device->dev to get the DMA provider device.
>
> No functional change. Prepare make to struct dma_device private to the DMA
> engine.
>
> Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
> ---
> drivers/tty/serial/8250/8250_dw.c | 2 +-
> drivers/tty/serial/8250/8250_lpss.c | 2 +-
> drivers/tty/serial/8250/8250_mid.c | 2 +-
> drivers/tty/serial/pch_uart.c | 2 +-
Please split to 8250 and pch_uart.
> 4 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c
> index eca02e8bd6d13..9adaf5b5fbd56 100644
> --- a/drivers/tty/serial/8250/8250_dw.c
> +++ b/drivers/tty/serial/8250/8250_dw.c
> @@ -530,7 +530,7 @@ static bool dw8250_fallback_dma_filter(struct dma_chan *chan, void *param)
>
> static bool dw8250_idma_filter(struct dma_chan *chan, void *param)
> {
> - return param == chan->device->dev;
> + return param == dmaengine_get_provider_device(chan);
> }
>
> static void dw8250_setup_dma_filter(struct uart_port *p, struct dw8250_data *data)
> diff --git a/drivers/tty/serial/8250/8250_lpss.c b/drivers/tty/serial/8250/8250_lpss.c
> index 7e88f2b793b5a..eed37e8b3e831 100644
> --- a/drivers/tty/serial/8250/8250_lpss.c
> +++ b/drivers/tty/serial/8250/8250_lpss.c
> @@ -269,7 +269,7 @@ static bool lpss8250_dma_filter(struct dma_chan *chan, void *param)
> {
> struct dw_dma_slave *dws = param;
>
> - if (dws->dma_dev != chan->device->dev)
> + if (dws->dma_dev != dmaengine_get_provider_device(chan))
> return false;
>
> chan->private = dws;
> diff --git a/drivers/tty/serial/8250/8250_mid.c b/drivers/tty/serial/8250/8250_mid.c
> index 44b43163df511..dfd2460983fab 100644
> --- a/drivers/tty/serial/8250/8250_mid.c
> +++ b/drivers/tty/serial/8250/8250_mid.c
> @@ -252,7 +252,7 @@ static bool mid8250_dma_filter(struct dma_chan *chan, void *param)
> {
> struct hsu_dma_slave *s = param;
>
> - if (s->dma_dev != chan->device->dev || s->chan_id != chan->chan_id)
> + if (s->dma_dev != dmaengine_get_provider_device(chan) || s->chan_id != chan->chan_id)
> return false;
>
> chan->private = s;
> diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c
> index 9505d255f09c5..6d9a88149b407 100644
> --- a/drivers/tty/serial/pch_uart.c
> +++ b/drivers/tty/serial/pch_uart.c
> @@ -656,7 +656,7 @@ static bool filter(struct dma_chan *chan, void *slave)
> struct pch_dma_slave *param = slave;
>
> if ((chan->chan_id == param->chan_id) && (param->dma_dev ==
> - chan->device->dev)) {
> + dmaengine_get_provider_device(chan))) {
Did you even read this patch yourself? Probably not... :-(
The line should be (very obviously) split at &&
--
i.