Commit 2a5357e5 authored by Al Viro's avatar Al Viro

io_ti: switch to ->get_serial()

Reviewed-by: default avatarJohan Hovold <johan@kernel.org>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent e27235ed
...@@ -2437,47 +2437,28 @@ static int edge_tiocmget(struct tty_struct *tty) ...@@ -2437,47 +2437,28 @@ static int edge_tiocmget(struct tty_struct *tty)
return result; return result;
} }
static int get_serial_info(struct edgeport_port *edge_port, static int get_serial_info(struct tty_struct *tty,
struct serial_struct __user *retinfo) struct serial_struct *ss)
{ {
struct serial_struct tmp; struct usb_serial_port *port = tty->driver_data;
struct edgeport_port *edge_port = usb_get_serial_port_data(port);
unsigned cwait; unsigned cwait;
cwait = edge_port->port->port.closing_wait; cwait = edge_port->port->port.closing_wait;
if (cwait != ASYNC_CLOSING_WAIT_NONE) if (cwait != ASYNC_CLOSING_WAIT_NONE)
cwait = jiffies_to_msecs(cwait) / 10; cwait = jiffies_to_msecs(cwait) / 10;
memset(&tmp, 0, sizeof(tmp)); ss->type = PORT_16550A;
ss->line = edge_port->port->minor;
tmp.type = PORT_16550A; ss->port = edge_port->port->port_number;
tmp.line = edge_port->port->minor; ss->irq = 0;
tmp.port = edge_port->port->port_number; ss->xmit_fifo_size = edge_port->port->bulk_out_size;
tmp.irq = 0; ss->baud_base = 9600;
tmp.xmit_fifo_size = edge_port->port->bulk_out_size; ss->close_delay = 5*HZ;
tmp.baud_base = 9600; ss->closing_wait = cwait;
tmp.close_delay = 5*HZ;
tmp.closing_wait = cwait;
if (copy_to_user(retinfo, &tmp, sizeof(*retinfo)))
return -EFAULT;
return 0; return 0;
} }
static int edge_ioctl(struct tty_struct *tty,
unsigned int cmd, unsigned long arg)
{
struct usb_serial_port *port = tty->driver_data;
struct edgeport_port *edge_port = usb_get_serial_port_data(port);
switch (cmd) {
case TIOCGSERIAL:
dev_dbg(&port->dev, "%s - TIOCGSERIAL\n", __func__);
return get_serial_info(edge_port,
(struct serial_struct __user *) arg);
}
return -ENOIOCTLCMD;
}
static void edge_break(struct tty_struct *tty, int break_state) static void edge_break(struct tty_struct *tty, int break_state)
{ {
struct usb_serial_port *port = tty->driver_data; struct usb_serial_port *port = tty->driver_data;
...@@ -2738,7 +2719,7 @@ static struct usb_serial_driver edgeport_1port_device = { ...@@ -2738,7 +2719,7 @@ static struct usb_serial_driver edgeport_1port_device = {
.release = edge_release, .release = edge_release,
.port_probe = edge_port_probe, .port_probe = edge_port_probe,
.port_remove = edge_port_remove, .port_remove = edge_port_remove,
.ioctl = edge_ioctl, .get_serial = get_serial_info,
.set_termios = edge_set_termios, .set_termios = edge_set_termios,
.tiocmget = edge_tiocmget, .tiocmget = edge_tiocmget,
.tiocmset = edge_tiocmset, .tiocmset = edge_tiocmset,
...@@ -2777,7 +2758,7 @@ static struct usb_serial_driver edgeport_2port_device = { ...@@ -2777,7 +2758,7 @@ static struct usb_serial_driver edgeport_2port_device = {
.release = edge_release, .release = edge_release,
.port_probe = edge_port_probe, .port_probe = edge_port_probe,
.port_remove = edge_port_remove, .port_remove = edge_port_remove,
.ioctl = edge_ioctl, .get_serial = get_serial_info,
.set_termios = edge_set_termios, .set_termios = edge_set_termios,
.tiocmget = edge_tiocmget, .tiocmget = edge_tiocmget,
.tiocmset = edge_tiocmset, .tiocmset = edge_tiocmset,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment