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

Uwe Kleine-König (The Capable Hub) <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.