[PATCH v2 2/8] serial: txx9: Simplify knowing that .iotype is always UPIO_PORT

Uwe Kleine-König (The Capable Hub) <[email protected]> Tue, 4 Aug 2026 10:57:54 +0200
Newsgroups gmane.linux.serial,gmane.linux.kernel
Message-ID <b90344819432e493f54d557ec06e734e3392724f.1785832297.git.u.kleine-koenig@baylibre.com>
After the previous commit it's obvious that .iotype is always UPIO_PORT.
Simplify some functions accordingly.

Suggested-by: Ilpo Järvinen <[email protected]>
Link: https://lore.kernel.org/linux-serial/[email protected]
Signed-off-by: Uwe Kleine-König (The Capable Hub) <[email protected]>
---
 drivers/tty/serial/serial_txx9.c | 69 ++++----------------------------
 1 file changed, 7 insertions(+), 62 deletions(-)

diff --git a/drivers/tty/serial/serial_txx9.c b/drivers/tty/serial/serial_txx9.c
index ef56979321b9..bda7f7527b8d 100644
--- a/drivers/tty/serial/serial_txx9.c
+++ b/drivers/tty/serial/serial_txx9.c
@@ -158,25 +158,13 @@
 
 static inline unsigned int sio_in(struct uart_port *up, int offset)
 {
-	switch (up->iotype) {
-	default:
-		return __raw_readl(up->membase + offset);
-	case UPIO_PORT:
-		return inl(up->iobase + offset);
-	}
+	return inl(up->iobase + offset);
 }
 
 static inline void
 sio_out(struct uart_port *up, int offset, int value)
 {
-	switch (up->iotype) {
-	default:
-		__raw_writel(value, up->membase + offset);
-		break;
-	case UPIO_PORT:
-		outl(value, up->iobase + offset);
-		break;
-	}
+	outl(value, up->iobase + offset);
 }
 
 static inline void
@@ -698,57 +686,15 @@ serial_txx9_pm(struct uart_port *port, unsigned int state,
 
 static int serial_txx9_request_resource(struct uart_port *up)
 {
-	unsigned int size = TXX9_REGION_SIZE;
-	int ret = 0;
+	if (!request_region(up->iobase, TXX9_REGION_SIZE, "serial_txx9"))
+		return -EBUSY;
 
-	switch (up->iotype) {
-	default:
-		if (!up->mapbase)
-			break;
-
-		if (!request_mem_region(up->mapbase, size, "serial_txx9")) {
-			ret = -EBUSY;
-			break;
-		}
-
-		if (up->flags & UPF_IOREMAP) {
-			up->membase = ioremap(up->mapbase, size);
-			if (!up->membase) {
-				release_mem_region(up->mapbase, size);
-				ret = -ENOMEM;
-			}
-		}
-		break;
-
-	case UPIO_PORT:
-		if (!request_region(up->iobase, size, "serial_txx9"))
-			ret = -EBUSY;
-		break;
-	}
-	return ret;
+	return 0;
 }
 
 static void serial_txx9_release_resource(struct uart_port *up)
 {
-	unsigned int size = TXX9_REGION_SIZE;
-
-	switch (up->iotype) {
-	default:
-		if (!up->mapbase)
-			break;
-
-		if (up->flags & UPF_IOREMAP) {
-			iounmap(up->membase);
-			up->membase = NULL;
-		}
-
-		release_mem_region(up->mapbase, size);
-		break;
-
-	case UPIO_PORT:
-		release_region(up->iobase, size);
-		break;
-	}
+	release_region(up->iobase, TXX9_REGION_SIZE);
 }
 
 static void serial_txx9_release_port(struct uart_port *up)
@@ -983,7 +929,7 @@ static int serial_txx9_register_port(struct uart_port *port)
 		uart->membase = port->membase;
 		uart->irq      = port->irq;
 		uart->uartclk  = port->uartclk;
-		uart->iotype   = port->iotype;
+		uart->iotype   = UPIO_PORT;
 		uart->flags    = port->flags
 			| UPF_BOOT_AUTOCONF | UPF_FIXED_PORT;
 		uart->mapbase  = port->mapbase;
@@ -1081,7 +1027,6 @@ pciserial_txx9_init_one(struct pci_dev *dev, const struct pci_device_id *ent)
 	port.flags |= UPF_TXX9_HAVE_CTS_LINE;
 	port.uartclk = 66670000;
 	port.irq = dev->irq;
-	port.iotype = UPIO_PORT;
 	port.iobase = pci_resource_start(dev, 1);
 	port.dev = &dev->dev;
 	line = serial_txx9_register_port(&port);
-- 
2.55.0.11.g153666a7d9bb