From: Jiri Slaby Date: Mon, 5 Mar 2012 13:52:34 +0000 (+0100) Subject: TTY: simserial, use tty_port_close_end X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=37343030458c0eea3f1093b09fc604d4f300eac7;p=mv-sheeva.git TTY: simserial, use tty_port_close_end The code is identical except locking. But added locks to protect counts do not hurt here. Rather the contrary. Signed-off-by: Jiri Slaby Cc: Tony Luck Cc: Fenghua Yu --- diff --git a/arch/ia64/hp/sim/simserial.c b/arch/ia64/hp/sim/simserial.c index d173dba306d..53db99af43a 100644 --- a/arch/ia64/hp/sim/simserial.c +++ b/arch/ia64/hp/sim/simserial.c @@ -478,13 +478,8 @@ static void rs_close(struct tty_struct *tty, struct file * filp) rs_flush_buffer(tty); tty_ldisc_flush(tty); port->tty = NULL; - if (port->blocked_open) { - if (port->close_delay) - schedule_timeout_interruptible(port->close_delay); - wake_up_interruptible(&port->open_wait); - } - port->flags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CLOSING); - wake_up_interruptible(&port->close_wait); + + tty_port_close_end(port, tty); } /* @@ -706,6 +701,9 @@ static const struct tty_operations hp_ops = { .proc_fops = &rs_proc_fops, }; +static const struct tty_port_operations hp_port_ops = { +}; + /* * The serial driver boot-time initialization code! */ @@ -742,6 +740,7 @@ static int __init simrs_init(void) */ state = rs_table; tty_port_init(&state->port); + state->port.ops = &hp_port_ops; state->port.close_delay = 0; /* XXX really 0? */ retval = hpsim_get_irq(KEYBOARD_INTR);