|
@@ -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,
|