Lines Matching refs:port

122 static int oti6858_open(struct tty_struct *tty, struct usb_serial_port *port);
123 static void oti6858_close(struct usb_serial_port *port);
125 struct usb_serial_port *port, struct ktermios *old);
130 static int oti6858_write(struct tty_struct *tty, struct usb_serial_port *port,
137 static int oti6858_port_probe(struct usb_serial_port *port);
138 static int oti6858_port_remove(struct usb_serial_port *port);
189 struct usb_serial_port *port; /* USB port with which associated */ member
196 struct usb_serial_port *port = priv->port; in setup_line() local
209 result = usb_control_msg(port->serial->dev, in setup_line()
210 usb_rcvctrlpipe(port->serial->dev, 0), in setup_line()
218 dev_err(&port->dev, "%s(): error reading status\n", __func__); in setup_line()
233 result = usb_control_msg(port->serial->dev, in setup_line()
234 usb_sndctrlpipe(port->serial->dev, 0), in setup_line()
252 dev_dbg(&port->dev, "%s(): submitting interrupt urb\n", __func__); in setup_line()
253 result = usb_submit_urb(port->interrupt_in_urb, GFP_KERNEL); in setup_line()
255 dev_err(&port->dev, "%s(): usb_submit_urb() failed with error %d\n", in setup_line()
264 struct usb_serial_port *port = priv->port; in send_data() local
279 spin_lock_irqsave(&port->lock, flags); in send_data()
280 count = kfifo_len(&port->write_fifo); in send_data()
281 spin_unlock_irqrestore(&port->lock, flags); in send_data()
283 if (count > port->bulk_out_size) in send_data()
284 count = port->bulk_out_size; in send_data()
291 result = usb_control_msg(port->serial->dev, in send_data()
292 usb_rcvctrlpipe(port->serial->dev, 0), in send_data()
304 dev_dbg(&port->dev, "%s(): submitting interrupt urb\n", __func__); in send_data()
305 result = usb_submit_urb(port->interrupt_in_urb, GFP_NOIO); in send_data()
307 dev_err(&port->dev, "%s(): usb_submit_urb() failed with error %d\n", in send_data()
313 count = kfifo_out_locked(&port->write_fifo, in send_data()
314 port->write_urb->transfer_buffer, in send_data()
315 count, &port->lock); in send_data()
316 port->write_urb->transfer_buffer_length = count; in send_data()
317 result = usb_submit_urb(port->write_urb, GFP_NOIO); in send_data()
319 dev_err_console(port, "%s(): usb_submit_urb() failed with error %d\n", in send_data()
324 usb_serial_port_softint(port); in send_data()
327 static int oti6858_port_probe(struct usb_serial_port *port) in oti6858_port_probe() argument
336 priv->port = port; in oti6858_port_probe()
340 usb_set_serial_port_data(port, priv); in oti6858_port_probe()
342 port->port.drain_delay = 256; /* FIXME: check the FIFO length */ in oti6858_port_probe()
347 static int oti6858_port_remove(struct usb_serial_port *port) in oti6858_port_remove() argument
351 priv = usb_get_serial_port_data(port); in oti6858_port_remove()
357 static int oti6858_write(struct tty_struct *tty, struct usb_serial_port *port, in oti6858_write() argument
363 count = kfifo_in_locked(&port->write_fifo, buf, count, &port->lock); in oti6858_write()
370 struct usb_serial_port *port = tty->driver_data; in oti6858_write_room() local
374 spin_lock_irqsave(&port->lock, flags); in oti6858_write_room()
375 room = kfifo_avail(&port->write_fifo); in oti6858_write_room()
376 spin_unlock_irqrestore(&port->lock, flags); in oti6858_write_room()
383 struct usb_serial_port *port = tty->driver_data; in oti6858_chars_in_buffer() local
387 spin_lock_irqsave(&port->lock, flags); in oti6858_chars_in_buffer()
388 chars = kfifo_len(&port->write_fifo); in oti6858_chars_in_buffer()
389 spin_unlock_irqrestore(&port->lock, flags); in oti6858_chars_in_buffer()
403 struct usb_serial_port *port, struct ktermios *old_termios) in oti6858_set_termios() argument
405 struct oti6858_private *priv = usb_get_serial_port_data(port); in oti6858_set_termios()
504 static int oti6858_open(struct tty_struct *tty, struct usb_serial_port *port) in oti6858_open() argument
506 struct oti6858_private *priv = usb_get_serial_port_data(port); in oti6858_open()
507 struct usb_serial *serial = port->serial; in oti6858_open()
512 usb_clear_halt(serial->dev, port->write_urb->pipe); in oti6858_open()
513 usb_clear_halt(serial->dev, port->read_urb->pipe); in oti6858_open()
544 dev_dbg(&port->dev, "%s(): submitting interrupt urb\n", __func__); in oti6858_open()
545 result = usb_submit_urb(port->interrupt_in_urb, GFP_KERNEL); in oti6858_open()
547 dev_err(&port->dev, "%s(): usb_submit_urb() failed with error %d\n", in oti6858_open()
549 oti6858_close(port); in oti6858_open()
555 oti6858_set_termios(tty, port, NULL); in oti6858_open()
560 static void oti6858_close(struct usb_serial_port *port) in oti6858_close() argument
562 struct oti6858_private *priv = usb_get_serial_port_data(port); in oti6858_close()
565 spin_lock_irqsave(&port->lock, flags); in oti6858_close()
567 kfifo_reset_out(&port->write_fifo); in oti6858_close()
568 spin_unlock_irqrestore(&port->lock, flags); in oti6858_close()
570 dev_dbg(&port->dev, "%s(): after buf_clear()\n", __func__); in oti6858_close()
577 dev_dbg(&port->dev, "%s(): shutting down urbs\n", __func__); in oti6858_close()
578 usb_kill_urb(port->write_urb); in oti6858_close()
579 usb_kill_urb(port->read_urb); in oti6858_close()
580 usb_kill_urb(port->interrupt_in_urb); in oti6858_close()
586 struct usb_serial_port *port = tty->driver_data; in oti6858_tiocmset() local
587 struct oti6858_private *priv = usb_get_serial_port_data(port); in oti6858_tiocmset()
591 dev_dbg(&port->dev, "%s(set = 0x%08x, clear = 0x%08x)\n", in oti6858_tiocmset()
615 struct usb_serial_port *port = tty->driver_data; in oti6858_tiocmget() local
616 struct oti6858_private *priv = usb_get_serial_port_data(port); in oti6858_tiocmget()
639 dev_dbg(&port->dev, "%s() = 0x%08x\n", __func__, result); in oti6858_tiocmget()
646 struct usb_serial_port *port = urb->context; in oti6858_read_int_callback() local
647 struct oti6858_private *priv = usb_get_serial_port_data(port); in oti6858_read_int_callback()
680 dev_dbg(&port->dev, "%s(): scheduling setup_line()\n", __func__); in oti6858_read_int_callback()
694 dev_dbg(&port->dev, "%s(): scheduling setup_line()\n", __func__); in oti6858_read_int_callback()
705 port->icount.cts++; in oti6858_read_int_callback()
707 port->icount.dsr++; in oti6858_read_int_callback()
709 port->icount.rng++; in oti6858_read_int_callback()
711 port->icount.dcd++; in oti6858_read_int_callback()
713 wake_up_interruptible(&port->port.delta_msr_wait); in oti6858_read_int_callback()
731 result = usb_submit_urb(port->read_urb, GFP_ATOMIC); in oti6858_read_int_callback()
734 dev_err(&port->dev, "%s(): usb_submit_urb() failed," in oti6858_read_int_callback()
743 spin_lock_irqsave(&port->lock, flags); in oti6858_read_int_callback()
744 count = kfifo_len(&port->write_fifo); in oti6858_read_int_callback()
745 spin_unlock_irqrestore(&port->lock, flags); in oti6858_read_int_callback()
770 struct usb_serial_port *port = urb->context; in oti6858_read_bulk_callback() local
771 struct oti6858_private *priv = usb_get_serial_port_data(port); in oti6858_read_bulk_callback()
787 tty_insert_flip_string(&port->port, data, urb->actual_length); in oti6858_read_bulk_callback()
788 tty_flip_buffer_push(&port->port); in oti6858_read_bulk_callback()
792 result = usb_submit_urb(port->interrupt_in_urb, GFP_ATOMIC); in oti6858_read_bulk_callback()
794 dev_err(&port->dev, "%s(): usb_submit_urb() failed," in oti6858_read_bulk_callback()
801 struct usb_serial_port *port = urb->context; in oti6858_write_bulk_callback() local
802 struct oti6858_private *priv = usb_get_serial_port_data(port); in oti6858_write_bulk_callback()
822 port->write_urb->transfer_buffer_length = 1; in oti6858_write_bulk_callback()
823 result = usb_submit_urb(port->write_urb, GFP_ATOMIC); in oti6858_write_bulk_callback()
825 dev_err_console(port, "%s(): usb_submit_urb() failed," in oti6858_write_bulk_callback()
835 dev_dbg(&port->dev, "%s(): submitting interrupt urb\n", __func__); in oti6858_write_bulk_callback()
836 result = usb_submit_urb(port->interrupt_in_urb, GFP_ATOMIC); in oti6858_write_bulk_callback()
838 dev_err(&port->dev, "%s(): failed submitting int urb," in oti6858_write_bulk_callback()