Re: [CFT] Don't use ASYNC_* nor SERIAL_IO_* with serial_core
From: Russell King <hidden>
Date: 2006-02-10 08:45:05
Also in:
linux-mips, lkml
Subsystem:
the rest · Maintainer:
Linus Torvalds
On Sat, Jan 21, 2006 at 09:14:07PM +0000, Russell King wrote:
The ioc4_serial driver is worse. It assumes that it can set/clear ASYNC_CTS_FLOW in the uart_info flags field, which is private to serial_core. It also seems to set TTY_IO_ERROR followed by immediately clearing it (pointless), and then it writes to tty->alt_speed... which isn't used by the serial layer so is also pointless.
Okay, the only remaining part of this patch which hasn't been applied is this - can anyone ack it?
diff --git a/drivers/serial/ioc4_serial.c b/drivers/serial/ioc4_serial.c
--- a/drivers/serial/ioc4_serial.c
+++ b/drivers/serial/ioc4_serial.c@@ -1717,11 +1717,9 @@ ioc4_change_speed(struct uart_port *the_ } if (cflag & CRTSCTS) { - info->flags |= ASYNC_CTS_FLOW; port->ip_sscr |= IOC4_SSCR_HFC_EN; } else { - info->flags &= ~ASYNC_CTS_FLOW; port->ip_sscr &= ~IOC4_SSCR_HFC_EN; } writel(port->ip_sscr, &port->ip_serial_regs->sscr);
@@ -1760,18 +1758,6 @@ static inline int ic4_startup_local(stru info = the_port->info; - if (info->tty) { - set_bit(TTY_IO_ERROR, &info->tty->flags); - clear_bit(TTY_IO_ERROR, &info->tty->flags); - if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_HI) - info->tty->alt_speed = 57600; - if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_VHI) - info->tty->alt_speed = 115200; - if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_SHI) - info->tty->alt_speed = 230400; - if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_WARP) - info->tty->alt_speed = 460800; - } local_open(port); /* set the speed of the serial port */
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core