lkml.org 
[lkml]   [2018]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 25/50] mos7720: switch to ->get_serial()
    Date
    From: Al Viro <viro@zeniv.linux.org.uk>

    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    ---
    drivers/usb/serial/mos7720.c | 38 ++++++++++++++++----------------------
    1 file changed, 16 insertions(+), 22 deletions(-)

    diff --git a/drivers/usb/serial/mos7720.c b/drivers/usb/serial/mos7720.c
    index 4c06357b3ef8..451fca707e04 100644
    --- a/drivers/usb/serial/mos7720.c
    +++ b/drivers/usb/serial/mos7720.c
    @@ -1786,24 +1786,22 @@ static int mos7720_tiocmset(struct tty_struct *tty,
    return 0;
    }

    -static int get_serial_info(struct moschip_port *mos7720_port,
    - struct serial_struct __user *retinfo)
    +static int get_serial_info(struct tty_struct *tty,
    + struct serial_struct *ss)
    {
    - struct serial_struct tmp;
    -
    - memset(&tmp, 0, sizeof(tmp));
    -
    - tmp.type = PORT_16550A;
    - tmp.line = mos7720_port->port->minor;
    - tmp.port = mos7720_port->port->port_number;
    - tmp.irq = 0;
    - tmp.xmit_fifo_size = NUM_URBS * URB_TRANSFER_BUFFER_SIZE;
    - tmp.baud_base = 9600;
    - tmp.close_delay = 5*HZ;
    - tmp.closing_wait = 30*HZ;
    -
    - if (copy_to_user(retinfo, &tmp, sizeof(*retinfo)))
    - return -EFAULT;
    + struct usb_serial_port *port = tty->driver_data;
    + struct moschip_port *mos7720_port;
    + mos7720_port = usb_get_serial_port_data(port);
    + if (mos7720_port == NULL)
    + return -ENODEV;
    + ss->type = PORT_16550A;
    + ss->line = mos7720_port->port->minor;
    + ss->port = mos7720_port->port->port_number;
    + ss->irq = 0;
    + ss->xmit_fifo_size = NUM_URBS * URB_TRANSFER_BUFFER_SIZE;
    + ss->baud_base = 9600;
    + ss->close_delay = 5*HZ;
    + ss->closing_wait = 30*HZ;
    return 0;
    }

    @@ -1822,11 +1820,6 @@ static int mos7720_ioctl(struct tty_struct *tty,
    dev_dbg(&port->dev, "%s TIOCSERGETLSR\n", __func__);
    return get_lsr_info(tty, mos7720_port,
    (unsigned int __user *)arg);
    -
    - case TIOCGSERIAL:
    - dev_dbg(&port->dev, "%s TIOCGSERIAL\n", __func__);
    - return get_serial_info(mos7720_port,
    - (struct serial_struct __user *)arg);
    }

    return -ENOIOCTLCMD;
    @@ -1963,6 +1956,7 @@ static struct usb_serial_driver moschip7720_2port_driver = {
    .ioctl = mos7720_ioctl,
    .tiocmget = mos7720_tiocmget,
    .tiocmset = mos7720_tiocmset,
    + .get_serial = get_serial_info,
    .set_termios = mos7720_set_termios,
    .write = mos7720_write,
    .write_room = mos7720_write_room,
    --
    2.11.0
    \
     
     \ /
      Last update: 2018-09-13 04:44    [W:3.750 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site