USB: ch341: replace custom ioctl operation with tiocmiwait
authorJohan Hovold <jhovold@gmail.com>
Thu, 21 Mar 2013 11:37:00 +0000 (12:37 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Mar 2013 20:50:52 +0000 (13:50 -0700)
Replace custom ioctl operation with tiocmiwait.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/ch341.c

index 07d4650..1a97985 100644 (file)
@@ -500,8 +500,9 @@ exit:
                        __func__, status);
 }
 
-static int wait_modem_info(struct usb_serial_port *port, unsigned int arg)
+static int ch341_tiocmiwait(struct tty_struct *tty, unsigned long arg)
 {
+       struct usb_serial_port *port = tty->driver_data;
        struct ch341_private *priv = usb_get_serial_port_data(port);
        unsigned long flags;
        u8 prevstatus;
@@ -542,26 +543,6 @@ static int wait_modem_info(struct usb_serial_port *port, unsigned int arg)
        return 0;
 }
 
-static int ch341_ioctl(struct tty_struct *tty,
-                       unsigned int cmd, unsigned long arg)
-{
-       struct usb_serial_port *port = tty->driver_data;
-
-       dev_dbg(&port->dev, "%s (%d) cmd = 0x%04x\n", __func__, port->number, cmd);
-
-       switch (cmd) {
-       case TIOCMIWAIT:
-               dev_dbg(&port->dev, "%s (%d) TIOCMIWAIT\n", __func__,  port->number);
-               return wait_modem_info(port, arg);
-
-       default:
-               dev_dbg(&port->dev, "%s not supported = 0x%04x\n", __func__, cmd);
-               break;
-       }
-
-       return -ENOIOCTLCMD;
-}
-
 static int ch341_tiocmget(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
@@ -611,11 +592,11 @@ static struct usb_serial_driver ch341_device = {
        .dtr_rts           = ch341_dtr_rts,
        .carrier_raised    = ch341_carrier_raised,
        .close             = ch341_close,
-       .ioctl             = ch341_ioctl,
        .set_termios       = ch341_set_termios,
        .break_ctl         = ch341_break_ctl,
        .tiocmget          = ch341_tiocmget,
        .tiocmset          = ch341_tiocmset,
+       .tiocmiwait        = ch341_tiocmiwait,
        .read_int_callback = ch341_read_int_callback,
        .port_probe        = ch341_port_probe,
        .port_remove       = ch341_port_remove,