Merge tag 'tty-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
[linux-2.6-block.git] / drivers / tty / serial / 8250 / 8250_core.c
index 2504e0455875817438e177582f2eb987d24f1e5d..ff15022369e45917278b3807e73f62c679bf0c9c 100644 (file)
@@ -15,6 +15,7 @@
  */
 
 #include <linux/acpi.h>
+#include <linux/cleanup.h>
 #include <linux/module.h>
 #include <linux/moduleparam.h>
 #include <linux/ioport.h>
@@ -41,6 +42,8 @@
 
 #include <asm/irq.h>
 
+#include "../serial_base.h"    /* For serial_base_add_isa_preferred_console() */
+
 #include "8250.h"
 
 /*
@@ -280,7 +283,8 @@ static void serial8250_backup_timeout(struct timer_list *t)
         */
        lsr = serial_lsr_in(up);
        if ((iir & UART_IIR_NO_INT) && (up->ier & UART_IER_THRI) &&
-           (!uart_circ_empty(&up->port.state->xmit) || up->port.x_char) &&
+           (!kfifo_is_empty(&up->port.state->port.xmit_fifo) ||
+            up->port.x_char) &&
            (lsr & UART_LSR_THRE)) {
                iir &= ~(UART_IIR_ID | UART_IIR_NO_INT);
                iir |= UART_IIR_THRI;
@@ -559,6 +563,8 @@ static void __init serial8250_isa_init_ports(void)
                port->irqflags |= irqflag;
                if (serial8250_isa_config != NULL)
                        serial8250_isa_config(i, &up->port, &up->capabilities);
+
+               serial_base_add_isa_preferred_console(serial8250_reg.dev_name, i);
        }
 }