Commit d195ea4b authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/home/rmk/linux-2.6-serial

parents bb4bc81a df7559d3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ void ibmasm_register_uart(struct service_processor *sp)
	memset(&uport, 0, sizeof(struct uart_port));
	uport.irq	= sp->irq;
	uport.uartclk	= 3686400;
	uport.flags	= UPF_AUTOPROBE | UPF_SHARE_IRQ;
	uport.flags	= UPF_SHARE_IRQ;
	uport.iotype	= UPIO_MEM;
	uport.membase	= iomem_base;

+1 −1
Original line number Diff line number Diff line
@@ -366,7 +366,7 @@ static struct uart_port serial21285_port = {
	.irq		= NO_IRQ,
	.fifosize	= 16,
	.ops		= &serial21285_ops,
	.flags		= ASYNC_BOOT_AUTOCONF,
	.flags		= UPF_BOOT_AUTOCONF,
};

static void serial21285_setup_ports(void)
+6 −13
Original line number Diff line number Diff line
@@ -31,7 +31,6 @@
#include <linux/init.h>
#include <linux/console.h>
#include <linux/sysrq.h>
#include <linux/mca.h>
#include <linux/delay.h>
#include <linux/platform_device.h>
#include <linux/tty.h>
@@ -2026,12 +2025,6 @@ static void serial8250_config_port(struct uart_port *port, int flags)
	int probeflags = PROBE_ANY;
	int ret;

	/*
	 * Don't probe for MCA ports on non-MCA machines.
	 */
	if (up->port.flags & UPF_BOOT_ONLYMCA && !MCA_bus)
		return;

	/*
	 * Find the region that we can probe for.  This in turn
	 * tells us whether we can probe for the type of port.
@@ -2164,7 +2157,7 @@ serial8250_register_ports(struct uart_driver *drv, struct device *dev)
/*
 *	Wait for transmitter & holding register to empty
 */
static inline void wait_for_xmitr(struct uart_8250_port *up)
static inline void wait_for_xmitr(struct uart_8250_port *up, int bits)
{
	unsigned int status, tmout = 10000;

@@ -2178,7 +2171,7 @@ static inline void wait_for_xmitr(struct uart_8250_port *up)
		if (--tmout == 0)
			break;
		udelay(1);
	} while ((status & BOTH_EMPTY) != BOTH_EMPTY);
	} while ((status & bits) != bits);

	/* Wait up to 1s for flow control if necessary */
	if (up->port.flags & UPF_CONS_FLOW) {
@@ -2218,7 +2211,7 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count)
	 *	Now, do each character
	 */
	for (i = 0; i < count; i++, s++) {
		wait_for_xmitr(up);
		wait_for_xmitr(up, UART_LSR_THRE);

		/*
		 *	Send the character out.
@@ -2226,7 +2219,7 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count)
		 */
		serial_out(up, UART_TX, *s);
		if (*s == 10) {
			wait_for_xmitr(up);
			wait_for_xmitr(up, UART_LSR_THRE);
			serial_out(up, UART_TX, 13);
		}
	}
@@ -2235,8 +2228,8 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count)
	 *	Finally, wait for transmitter to become empty
	 *	and restore the IER
	 */
	wait_for_xmitr(up);
	serial_out(up, UART_IER, ier);
	wait_for_xmitr(up, BOTH_EMPTY);
	serial_out(up, UART_IER, ier | UART_IER_THRI);
}

static int serial8250_console_setup(struct console *co, char *options)
+1 −1
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ config SERIAL_8250
	  work.)

	  To compile this driver as a module, choose M here: the
	  module will be called serial.
	  module will be called 8250.
	  [WARNING: Do not compile this driver as a module if you are using
	  non-standard serial ports, since the configuration information will
	  be lost when the driver is unloaded.  This limitation may be lifted
+2 −2
Original line number Diff line number Diff line
@@ -566,7 +566,7 @@ static struct uart_amba_port amba_ports[UART_NR] = {
			.uartclk	= 14745600,
			.fifosize	= 16,
			.ops		= &amba_pl010_pops,
			.flags		= ASYNC_BOOT_AUTOCONF,
			.flags		= UPF_BOOT_AUTOCONF,
			.line		= 0,
		},
		.dtr_mask	= 1 << 5,
@@ -581,7 +581,7 @@ static struct uart_amba_port amba_ports[UART_NR] = {
			.uartclk	= 14745600,
			.fifosize	= 16,
			.ops		= &amba_pl010_pops,
			.flags		= ASYNC_BOOT_AUTOCONF,
			.flags		= UPF_BOOT_AUTOCONF,
			.line		= 1,
		},
		.dtr_mask	= 1 << 7,
Loading