USB: f81232: add custom tiocmiwait operation
authorJohan Hovold <jhovold@gmail.com>
Thu, 21 Mar 2013 11:37:05 +0000 (12:37 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Mar 2013 20:50:52 +0000 (13:50 -0700)
Break out TIOCMIWAIT handling from custom ioctl operation and use
tiocmiwait operation field instead.

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

index a172ad5..d1fdd8d 100644 (file)
@@ -242,8 +242,9 @@ static int f81232_carrier_raised(struct usb_serial_port *port)
        return 0;
 }
 
-static int wait_modem_info(struct usb_serial_port *port, unsigned int arg)
+static int f81232_tiocmiwait(struct tty_struct *tty, unsigned long arg)
 {
+       struct usb_serial_port *port = tty->driver_data;
        struct f81232_private *priv = usb_get_serial_port_data(port);
        unsigned long flags;
        unsigned int prevstatus;
@@ -302,11 +303,6 @@ static int f81232_ioctl(struct tty_struct *tty,
                        return -EFAULT;
 
                return 0;
-
-       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);
@@ -358,6 +354,7 @@ static struct usb_serial_driver f81232_device = {
        .set_termios =          f81232_set_termios,
        .tiocmget =             f81232_tiocmget,
        .tiocmset =             f81232_tiocmset,
+       .tiocmiwait =           f81232_tiocmiwait,
        .process_read_urb =     f81232_process_read_urb,
        .read_int_callback =    f81232_read_int_callback,
        .port_probe =           f81232_port_probe,