Lines Matching refs:port

212 static int digi_write_oob_command(struct usb_serial_port *port,
214 static int digi_write_inb_command(struct usb_serial_port *port,
216 static int digi_set_modem_signals(struct usb_serial_port *port,
218 static int digi_transmit_idle(struct usb_serial_port *port,
223 struct usb_serial_port *port, struct ktermios *old_termios);
228 static int digi_write(struct tty_struct *tty, struct usb_serial_port *port,
233 static int digi_open(struct tty_struct *tty, struct usb_serial_port *port);
234 static void digi_close(struct usb_serial_port *port);
235 static void digi_dtr_rts(struct usb_serial_port *port, int on);
240 static int digi_port_probe(struct usb_serial_port *port);
241 static int digi_port_remove(struct usb_serial_port *port);
370 struct usb_serial_port *port = priv->dp_port; in digi_wakeup_write_lock() local
374 tty_port_tty_wakeup(&port->port); in digi_wakeup_write_lock()
389 static int digi_write_oob_command(struct usb_serial_port *port, in digi_write_oob_command() argument
394 …t = (struct usb_serial_port *)((struct digi_serial *)(usb_get_serial_data(port->serial)))->ds_oob_… in digi_write_oob_command()
398 dev_dbg(&port->dev, in digi_write_oob_command()
428 dev_err(&port->dev, "%s: usb_submit_urb failed, ret=%d\n", in digi_write_oob_command()
447 static int digi_write_inb_command(struct usb_serial_port *port, in digi_write_inb_command() argument
452 struct digi_port *priv = usb_get_serial_port_data(port); in digi_write_inb_command()
453 unsigned char *data = port->write_urb->transfer_buffer; in digi_write_inb_command()
456 dev_dbg(&port->dev, "digi_write_inb_command: TOP: port=%d, count=%d\n", in digi_write_inb_command()
469 &port->write_wait, DIGI_RETRY_TIMEOUT, in digi_write_inb_command()
479 len = min(count, port->bulk_out_size-2-priv->dp_out_buf_len); in digi_write_inb_command()
490 port->write_urb->transfer_buffer_length in digi_write_inb_command()
494 port->write_urb->transfer_buffer_length = len; in digi_write_inb_command()
497 ret = usb_submit_urb(port->write_urb, GFP_ATOMIC); in digi_write_inb_command()
509 dev_err(&port->dev, in digi_write_inb_command()
526 static int digi_set_modem_signals(struct usb_serial_port *port, in digi_set_modem_signals() argument
531 struct digi_port *port_priv = usb_get_serial_port_data(port); in digi_set_modem_signals()
532 … = (struct usb_serial_port *) ((struct digi_serial *)(usb_get_serial_data(port->serial)))->ds_oob_… in digi_set_modem_signals()
538 dev_dbg(&port->dev, in digi_set_modem_signals()
578 dev_err(&port->dev, "%s: usb_submit_urb failed, ret=%d\n", in digi_set_modem_signals()
595 static int digi_transmit_idle(struct usb_serial_port *port, in digi_transmit_idle() argument
600 struct digi_port *priv = usb_get_serial_port_data(port); in digi_transmit_idle()
612 ret = digi_write_inb_command(port, buf, 2, timeout - jiffies); in digi_transmit_idle()
636 struct usb_serial_port *port = tty->driver_data; in digi_rx_throttle() local
637 struct digi_port *priv = usb_get_serial_port_data(port); in digi_rx_throttle()
651 struct usb_serial_port *port = tty->driver_data; in digi_rx_unthrottle() local
652 struct digi_port *priv = usb_get_serial_port_data(port); in digi_rx_unthrottle()
658 ret = usb_submit_urb(port->read_urb, GFP_ATOMIC); in digi_rx_unthrottle()
667 dev_err(&port->dev, in digi_rx_unthrottle()
674 struct usb_serial_port *port, struct ktermios *old_termios) in digi_set_termios() argument
676 struct digi_port *priv = usb_get_serial_port_data(port); in digi_set_termios()
677 struct device *dev = &port->dev; in digi_set_termios()
705 digi_set_modem_signals(port, modem_signals, 1); in digi_set_termios()
709 case 0: digi_set_modem_signals(port, 0, 1); break; in digi_set_termios()
857 ret = digi_write_oob_command(port, buf, i, 1); in digi_set_termios()
866 struct usb_serial_port *port = tty->driver_data; in digi_break_ctl() local
873 digi_write_inb_command(port, buf, 4, 0); in digi_break_ctl()
879 struct usb_serial_port *port = tty->driver_data; in digi_tiocmget() local
880 struct digi_port *priv = usb_get_serial_port_data(port); in digi_tiocmget()
894 struct usb_serial_port *port = tty->driver_data; in digi_tiocmset() local
895 struct digi_port *priv = usb_get_serial_port_data(port); in digi_tiocmset()
902 return digi_set_modem_signals(port, val, 1); in digi_tiocmset()
906 static int digi_write(struct tty_struct *tty, struct usb_serial_port *port, in digi_write() argument
911 struct digi_port *priv = usb_get_serial_port_data(port); in digi_write()
912 unsigned char *data = port->write_urb->transfer_buffer; in digi_write()
915 dev_dbg(&port->dev, in digi_write()
920 count = min(count, port->bulk_out_size-2); in digi_write()
942 new_len = min(count, port->bulk_out_size-2-priv->dp_out_buf_len); in digi_write()
950 port->write_urb->transfer_buffer_length = data_len+2; in digi_write()
962 ret = usb_submit_urb(port->write_urb, GFP_ATOMIC); in digi_write()
972 dev_err_console(port, in digi_write()
975 dev_dbg(&port->dev, "digi_write: returning %d\n", ret); in digi_write()
983 struct usb_serial_port *port = urb->context; in digi_write_bulk_callback() local
991 if (port == NULL || (priv = usb_get_serial_port_data(port)) == NULL) { in digi_write_bulk_callback()
996 serial = port->serial; in digi_write_bulk_callback()
998 dev_err(&port->dev, in digi_write_bulk_callback()
1006 dev_dbg(&port->dev, "digi_write_bulk_callback: oob callback\n"); in digi_write_bulk_callback()
1009 wake_up_interruptible(&port->write_wait); in digi_write_bulk_callback()
1018 *((unsigned char *)(port->write_urb->transfer_buffer)) in digi_write_bulk_callback()
1020 *((unsigned char *)(port->write_urb->transfer_buffer) + 1) in digi_write_bulk_callback()
1022 port->write_urb->transfer_buffer_length = in digi_write_bulk_callback()
1024 memcpy(port->write_urb->transfer_buffer + 2, priv->dp_out_buf, in digi_write_bulk_callback()
1026 ret = usb_submit_urb(port->write_urb, GFP_ATOMIC); in digi_write_bulk_callback()
1033 tty_port_tty_wakeup(&port->port); in digi_write_bulk_callback()
1040 dev_err_console(port, in digi_write_bulk_callback()
1047 struct usb_serial_port *port = tty->driver_data; in digi_write_room() local
1048 struct digi_port *priv = usb_get_serial_port_data(port); in digi_write_room()
1057 room = port->bulk_out_size - 2 - priv->dp_out_buf_len; in digi_write_room()
1060 dev_dbg(&port->dev, "digi_write_room: port=%d, room=%d\n", priv->dp_port_num, room); in digi_write_room()
1067 struct usb_serial_port *port = tty->driver_data; in digi_chars_in_buffer() local
1068 struct digi_port *priv = usb_get_serial_port_data(port); in digi_chars_in_buffer()
1071 dev_dbg(&port->dev, "digi_chars_in_buffer: port=%d, chars=%d\n", in digi_chars_in_buffer()
1072 priv->dp_port_num, port->bulk_out_size - 2); in digi_chars_in_buffer()
1076 dev_dbg(&port->dev, "digi_chars_in_buffer: port=%d, chars=%d\n", in digi_chars_in_buffer()
1083 static void digi_dtr_rts(struct usb_serial_port *port, int on) in digi_dtr_rts() argument
1086 digi_set_modem_signals(port, on * (TIOCM_DTR|TIOCM_RTS), 1); in digi_dtr_rts()
1089 static int digi_open(struct tty_struct *tty, struct usb_serial_port *port) in digi_open() argument
1093 struct digi_port *priv = usb_get_serial_port_data(port); in digi_open()
1097 if (digi_startup_device(port->serial) != 0) in digi_open()
1112 ret = digi_write_oob_command(port, buf, 8, 1); in digi_open()
1114 dev_dbg(&port->dev, "digi_open: write oob failed, ret=%d\n", ret); in digi_open()
1120 digi_set_termios(tty, port, &not_termios); in digi_open()
1126 static void digi_close(struct usb_serial_port *port) in digi_close() argument
1131 struct digi_port *priv = usb_get_serial_port_data(port); in digi_close()
1133 mutex_lock(&port->serial->disc_mutex); in digi_close()
1135 if (port->serial->disconnected) in digi_close()
1139 digi_transmit_idle(port, DIGI_CLOSE_TIMEOUT); in digi_close()
1171 ret = digi_write_oob_command(port, buf, 20, 0); in digi_close()
1173 dev_dbg(&port->dev, "digi_close: write oob failed, ret=%d\n", in digi_close()
1182 usb_kill_urb(port->write_urb); in digi_close()
1188 mutex_unlock(&port->serial->disc_mutex); in digi_close()
1203 struct usb_serial_port *port; in digi_startup_device() local
1217 port = serial->port[i]; in digi_startup_device()
1218 ret = usb_submit_urb(port->read_urb, GFP_KERNEL); in digi_startup_device()
1220 dev_err(&port->dev, in digi_startup_device()
1229 static int digi_port_init(struct usb_serial_port *port, unsigned port_num) in digi_port_init() argument
1243 priv->dp_port = port; in digi_port_init()
1245 init_waitqueue_head(&port->write_wait); in digi_port_init()
1247 usb_set_serial_port_data(port, priv); in digi_port_init()
1266 if (!serial->port[i]->read_urb) { in digi_startup()
1270 if (!serial->port[i]->write_urb) { in digi_startup()
1282 serial_priv->ds_oob_port = serial->port[serial_priv->ds_oob_port_num]; in digi_startup()
1303 usb_kill_urb(serial->port[i]->read_urb); in digi_disconnect()
1304 usb_kill_urb(serial->port[i]->write_urb); in digi_disconnect()
1322 static int digi_port_probe(struct usb_serial_port *port) in digi_port_probe() argument
1324 return digi_port_init(port, port->port_number); in digi_port_probe()
1327 static int digi_port_remove(struct usb_serial_port *port) in digi_port_remove() argument
1331 priv = usb_get_serial_port_data(port); in digi_port_remove()
1339 struct usb_serial_port *port = urb->context; in digi_read_bulk_callback() local
1346 if (port == NULL) in digi_read_bulk_callback()
1348 priv = usb_get_serial_port_data(port); in digi_read_bulk_callback()
1350 dev_err(&port->dev, "%s: port->private is NULL, status=%d\n", in digi_read_bulk_callback()
1354 if (port->serial == NULL || in digi_read_bulk_callback()
1355 (serial_priv = usb_get_serial_data(port->serial)) == NULL) { in digi_read_bulk_callback()
1356 dev_err(&port->dev, "%s: serial is bad or serial->private " in digi_read_bulk_callback()
1363 dev_err(&port->dev, in digi_read_bulk_callback()
1381 dev_err(&port->dev, in digi_read_bulk_callback()
1400 struct usb_serial_port *port = urb->context; in digi_read_inb_callback() local
1401 struct digi_port *priv = usb_get_serial_port_data(port); in digi_read_inb_callback()
1416 dev_err(&port->dev, "%s: INCOMPLETE OR MULTIPLE PACKET, " in digi_read_inb_callback()
1439 tty_insert_flip_char(&port->port, 0, TTY_OVERRUN); in digi_read_inb_callback()
1453 tty_insert_flip_string_fixed_flag(&port->port, data, in digi_read_inb_callback()
1455 tty_flip_buffer_push(&port->port); in digi_read_inb_callback()
1461 dev_dbg(&port->dev, "%s: got RECEIVE_DISABLE\n", __func__); in digi_read_inb_callback()
1463 dev_dbg(&port->dev, "%s: unknown opcode: %d\n", __func__, opcode); in digi_read_inb_callback()
1482 struct usb_serial_port *port = urb->context; in digi_read_oob_callback() local
1483 struct usb_serial *serial = port->serial; in digi_read_oob_callback()
1485 struct digi_port *priv = usb_get_serial_port_data(port); in digi_read_oob_callback()
1497 dev_dbg(&port->dev, "digi_read_oob_callback: opcode=%d, line=%d, status=%d, val=%d\n", in digi_read_oob_callback()
1503 port = serial->port[line]; in digi_read_oob_callback()
1505 priv = usb_get_serial_port_data(port); in digi_read_oob_callback()
1509 tty = tty_port_tty_get(&port->port); in digi_read_oob_callback()
1522 tty_port_tty_wakeup(&port->port); in digi_read_oob_callback()