[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20241115110021.744332-1-arnd@kernel.org>
Date: Fri, 15 Nov 2024 11:59:54 +0100
From: Arnd Bergmann <arnd@...nel.org>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Kartik Rajput <kkartik@...dia.com>
Cc: Arnd Bergmann <arnd@...db.de>,
kernel test robot <lkp@...el.com>,
Russell King <linux@...linux.org.uk>,
Jiri Slaby <jirislaby@...nel.org>,
Théo Lebrun <theo.lebrun@...tlin.com>,
Linus Walleij <linus.walleij@...aro.org>,
Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
linux-kernel@...r.kernel.org,
linux-serial@...r.kernel.org
Subject: [PATCH] serial: amba-pl011: fix build regression
From: Arnd Bergmann <arnd@...db.de>
When CONFIG_DMA_ENGINE is disabled, the driver now fails to build:
drivers/tty/serial/amba-pl011.c: In function 'pl011_unthrottle_rx':
drivers/tty/serial/amba-pl011.c:1822:16: error: 'struct uart_amba_port' has no member named 'using_rx_dma'
1822 | if (uap->using_rx_dma) {
| ^~
drivers/tty/serial/amba-pl011.c:1823:20: error: 'struct uart_amba_port' has no member named 'dmacr'
1823 | uap->dmacr |= UART011_RXDMAE;
| ^~
drivers/tty/serial/amba-pl011.c:1824:32: error: 'struct uart_amba_port' has no member named 'dmacr'
1824 | pl011_write(uap->dmacr, uap, REG_DMACR);
| ^~
Add the missing #ifdef check around these field accesses, matching
what other parts of this driver do.
Fixes: 2bcacc1c87ac ("serial: amba-pl011: Fix RX stall when DMA is used")
Reported-by: kernel test robot <lkp@...el.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202411140617.nkjeHhsK-lkp@intel.com/
Signed-off-by: Arnd Bergmann <arnd@...db.de>
---
drivers/tty/serial/amba-pl011.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c
index f0db65bb8b6f..214bfbf03a97 100644
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -1819,10 +1819,12 @@ static void pl011_unthrottle_rx(struct uart_port *port)
pl011_write(uap->im, uap, REG_IMSC);
+#ifdef CONFIG_DMA_ENGINE
if (uap->using_rx_dma) {
uap->dmacr |= UART011_RXDMAE;
pl011_write(uap->dmacr, uap, REG_DMACR);
}
+#endif
uart_port_unlock_irqrestore(&uap->port, flags);
}
--
2.39.5
Powered by blists - more mailing lists