[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1461881913-23967-2-git-send-email-rjones@redhat.com>
Date: Thu, 28 Apr 2016 23:18:33 +0100
From: "Richard W.M. Jones" <rjones@...hat.com>
To: gregkh@...uxfoundation.org
Cc: jslaby@...e.com, peter@...leysoftware.com,
andriy.shevchenko@...ux.intel.com, phillip.raffeck@....de,
anton.wuerfel@....de, yamada.masahiro@...ionext.com,
matwey@....msu.ru, valentinrothberg@...il.com,
linux-serial@...r.kernel.org, linux-kernel@...r.kernel.org,
ddutile@...hat.com
Subject: [PATCH] 8250: Hypervisors always export working 16550A UARTs.
Currently autoconf spends 25ms (on my laptop) testing if the UART
exported to it by KVM is an 8250 without FIFO and/or with strange
quirks, which it obviously isn't. Assume it is exported to us by a
hypervisor, it's a normal, working 16550A.
Signed-off-by: Richard W.M. Jones <rjones@...hat.com>
---
drivers/tty/serial/8250/8250_port.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c
index 00ad2637..de19924 100644
--- a/drivers/tty/serial/8250/8250_port.c
+++ b/drivers/tty/serial/8250/8250_port.c
@@ -1171,6 +1171,13 @@ static void autoconfig(struct uart_8250_port *up)
if (!port->iobase && !port->mapbase && !port->membase)
return;
+ /* Hypervisors always export working 16550A devices. */
+ if (cpu_has_hypervisor) {
+ up->port.type = PORT_16550A;
+ up->capabilities |= UART_CAP_FIFO;
+ return;
+ }
+
DEBUG_AUTOCONF("ttyS%d: autoconf (0x%04lx, 0x%p): ",
serial_index(port), port->iobase, port->membase);
--
2.7.4
Powered by blists - more mailing lists