Lines Matching refs:port

122 static int  cypress_earthmate_port_probe(struct usb_serial_port *port);
123 static int cypress_hidcom_port_probe(struct usb_serial_port *port);
124 static int cypress_ca42v2_port_probe(struct usb_serial_port *port);
125 static int cypress_port_remove(struct usb_serial_port *port);
126 static int cypress_open(struct tty_struct *tty, struct usb_serial_port *port);
127 static void cypress_close(struct usb_serial_port *port);
128 static void cypress_dtr_rts(struct usb_serial_port *port, int on);
129 static int cypress_write(struct tty_struct *tty, struct usb_serial_port *port,
131 static void cypress_send(struct usb_serial_port *port);
134 struct usb_serial_port *port, struct ktermios *old);
141 static void cypress_set_dead(struct usb_serial_port *port);
239 static int analyze_baud_rate(struct usb_serial_port *port, speed_t new_rate) in analyze_baud_rate() argument
242 priv = usb_get_serial_port_data(port); in analyze_baud_rate()
248 if (is_frwd(port->serial->dev)) in analyze_baud_rate()
260 if (port->serial->dev->speed == USB_SPEED_LOW) { in analyze_baud_rate()
269 dev_dbg(&port->dev, in analyze_baud_rate()
281 dev_dbg(&port->dev, in analyze_baud_rate()
296 struct usb_serial_port *port, speed_t baud_rate, int data_bits, in cypress_serial_control() argument
302 struct device *dev = &port->dev; in cypress_serial_control()
307 priv = usb_get_serial_port_data(port); in cypress_serial_control()
322 retval = analyze_baud_rate(port, baud_rate); in cypress_serial_control()
349 retval = usb_control_msg(port->serial->dev, in cypress_serial_control()
350 usb_sndctrlpipe(port->serial->dev, 0), in cypress_serial_control()
365 cypress_set_dead(port); in cypress_serial_control()
387 retval = usb_control_msg(port->serial->dev, in cypress_serial_control()
388 usb_rcvctrlpipe(port->serial->dev, 0), in cypress_serial_control()
402 cypress_set_dead(port); in cypress_serial_control()
422 static void cypress_set_dead(struct usb_serial_port *port) in cypress_set_dead() argument
424 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_set_dead()
435 dev_err(&port->dev, "cypress_m8 suspending failing port %d - " in cypress_set_dead()
436 "interval might be too short\n", port->port_number); in cypress_set_dead()
445 static int cypress_generic_port_probe(struct usb_serial_port *port) in cypress_generic_port_probe() argument
447 struct usb_serial *serial = port->serial; in cypress_generic_port_probe()
450 if (!port->interrupt_out_urb || !port->interrupt_in_urb) { in cypress_generic_port_probe()
451 dev_err(&port->dev, "required endpoint is missing\n"); in cypress_generic_port_probe()
482 if (port->interrupt_out_size > 9) in cypress_generic_port_probe()
490 dev_dbg(&port->dev, "%s - read & write intervals forced to %d\n", in cypress_generic_port_probe()
493 priv->write_urb_interval = port->interrupt_out_urb->interval; in cypress_generic_port_probe()
494 priv->read_urb_interval = port->interrupt_in_urb->interval; in cypress_generic_port_probe()
495 dev_dbg(&port->dev, "%s - intervals: read=%d write=%d\n", in cypress_generic_port_probe()
499 usb_set_serial_port_data(port, priv); in cypress_generic_port_probe()
501 port->port.drain_delay = 256; in cypress_generic_port_probe()
507 static int cypress_earthmate_port_probe(struct usb_serial_port *port) in cypress_earthmate_port_probe() argument
509 struct usb_serial *serial = port->serial; in cypress_earthmate_port_probe()
513 ret = cypress_generic_port_probe(port); in cypress_earthmate_port_probe()
515 dev_dbg(&port->dev, "%s - Failed setting up port\n", __func__); in cypress_earthmate_port_probe()
519 priv = usb_get_serial_port_data(port); in cypress_earthmate_port_probe()
530 dev_dbg(&port->dev, in cypress_earthmate_port_probe()
539 static int cypress_hidcom_port_probe(struct usb_serial_port *port) in cypress_hidcom_port_probe() argument
544 ret = cypress_generic_port_probe(port); in cypress_hidcom_port_probe()
546 dev_dbg(&port->dev, "%s - Failed setting up port\n", __func__); in cypress_hidcom_port_probe()
550 priv = usb_get_serial_port_data(port); in cypress_hidcom_port_probe()
556 static int cypress_ca42v2_port_probe(struct usb_serial_port *port) in cypress_ca42v2_port_probe() argument
561 ret = cypress_generic_port_probe(port); in cypress_ca42v2_port_probe()
563 dev_dbg(&port->dev, "%s - Failed setting up port\n", __func__); in cypress_ca42v2_port_probe()
567 priv = usb_get_serial_port_data(port); in cypress_ca42v2_port_probe()
573 static int cypress_port_remove(struct usb_serial_port *port) in cypress_port_remove() argument
577 priv = usb_get_serial_port_data(port); in cypress_port_remove()
585 static int cypress_open(struct tty_struct *tty, struct usb_serial_port *port) in cypress_open() argument
587 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_open()
588 struct usb_serial *serial = port->serial; in cypress_open()
608 cypress_send(port); in cypress_open()
611 cypress_set_termios(tty, port, &priv->tmp_termios); in cypress_open()
614 usb_fill_int_urb(port->interrupt_in_urb, serial->dev, in cypress_open()
615 usb_rcvintpipe(serial->dev, port->interrupt_in_endpointAddress), in cypress_open()
616 port->interrupt_in_urb->transfer_buffer, in cypress_open()
617 port->interrupt_in_urb->transfer_buffer_length, in cypress_open()
618 cypress_read_int_callback, port, priv->read_urb_interval); in cypress_open()
619 result = usb_submit_urb(port->interrupt_in_urb, GFP_KERNEL); in cypress_open()
622 dev_err(&port->dev, in cypress_open()
625 cypress_set_dead(port); in cypress_open()
631 static void cypress_dtr_rts(struct usb_serial_port *port, int on) in cypress_dtr_rts() argument
633 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_dtr_rts()
642 cypress_write(NULL, port, NULL, 0); in cypress_dtr_rts()
645 static void cypress_close(struct usb_serial_port *port) in cypress_close() argument
647 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_close()
654 dev_dbg(&port->dev, "%s - stopping urbs\n", __func__); in cypress_close()
655 usb_kill_urb(port->interrupt_in_urb); in cypress_close()
656 usb_kill_urb(port->interrupt_out_urb); in cypress_close()
659 dev_info(&port->dev, "Statistics: %d Bytes In | %d Bytes Out | %d Commands Issued\n", in cypress_close()
664 static int cypress_write(struct tty_struct *tty, struct usb_serial_port *port, in cypress_write() argument
667 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_write()
669 dev_dbg(&port->dev, "%s - %d bytes\n", __func__, count); in cypress_write()
685 cypress_send(port); in cypress_write()
691 static void cypress_send(struct usb_serial_port *port) in cypress_send() argument
694 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_send()
695 struct device *dev = &port->dev; in cypress_send()
702 port->interrupt_out_size); in cypress_send()
713 memset(port->interrupt_out_urb->transfer_buffer, 0, in cypress_send()
714 port->interrupt_out_size); in cypress_send()
722 port->interrupt_out_buffer[0] = priv->line_control; in cypress_send()
727 port->interrupt_out_buffer[0] = priv->line_control; in cypress_send()
743 &port->interrupt_out_buffer[offset], in cypress_send()
744 port->interrupt_out_size - offset, in cypress_send()
752 port->interrupt_out_buffer[1] = count; in cypress_send()
755 port->interrupt_out_buffer[0] |= count; in cypress_send()
771 usb_serial_debug_data(dev, __func__, port->interrupt_out_size, in cypress_send()
772 port->interrupt_out_urb->transfer_buffer); in cypress_send()
774 usb_fill_int_urb(port->interrupt_out_urb, port->serial->dev, in cypress_send()
775 usb_sndintpipe(port->serial->dev, port->interrupt_out_endpointAddress), in cypress_send()
776 port->interrupt_out_buffer, port->interrupt_out_size, in cypress_send()
777 cypress_write_int_callback, port, priv->write_urb_interval); in cypress_send()
778 result = usb_submit_urb(port->interrupt_out_urb, GFP_ATOMIC); in cypress_send()
780 dev_err_console(port, in cypress_send()
784 cypress_set_dead(port); in cypress_send()
795 usb_serial_port_softint(port); in cypress_send()
802 struct usb_serial_port *port = tty->driver_data; in cypress_write_room() local
803 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_write_room()
811 dev_dbg(&port->dev, "%s - returns %d\n", __func__, room); in cypress_write_room()
818 struct usb_serial_port *port = tty->driver_data; in cypress_tiocmget() local
819 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_tiocmget()
836 dev_dbg(&port->dev, "%s - result = %x\n", __func__, result); in cypress_tiocmget()
845 struct usb_serial_port *port = tty->driver_data; in cypress_tiocmset() local
846 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_tiocmset()
861 return cypress_write(tty, port, NULL, 0); in cypress_tiocmset()
865 struct usb_serial_port *port, struct ktermios *old_termios) in cypress_set_termios() argument
867 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_set_termios()
868 struct device *dev = &port->dev; in cypress_set_termios()
958 cypress_serial_control(tty, port, tty_get_baud_rate(tty), in cypress_set_termios()
966 cypress_serial_control(tty, port, 0, 0, 0, 0, 0, 0, CYPRESS_GET_CONFIG); in cypress_set_termios()
1005 cypress_write(tty, port, NULL, 0); in cypress_set_termios()
1013 struct usb_serial_port *port = tty->driver_data; in cypress_chars_in_buffer() local
1014 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_chars_in_buffer()
1022 dev_dbg(&port->dev, "%s - returns %d\n", __func__, chars); in cypress_chars_in_buffer()
1029 struct usb_serial_port *port = tty->driver_data; in cypress_throttle() local
1030 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_throttle()
1040 struct usb_serial_port *port = tty->driver_data; in cypress_unthrottle() local
1041 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_unthrottle()
1053 result = usb_submit_urb(port->interrupt_in_urb, GFP_KERNEL); in cypress_unthrottle()
1055 dev_err(&port->dev, "%s - failed submitting read urb, " in cypress_unthrottle()
1057 cypress_set_dead(port); in cypress_unthrottle()
1065 struct usb_serial_port *port = urb->context; in cypress_read_int_callback() local
1066 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_read_int_callback()
1093 cypress_set_dead(port); in cypress_read_int_callback()
1106 tty = tty_port_tty_get(&port->port); in cypress_read_int_callback()
1141 usb_serial_debug_data(&port->dev, __func__, urb->actual_length, data); in cypress_read_int_callback()
1150 port->icount.cts++; in cypress_read_int_callback()
1152 port->icount.dsr++; in cypress_read_int_callback()
1154 port->icount.rng++; in cypress_read_int_callback()
1156 port->icount.dcd++; in cypress_read_int_callback()
1158 wake_up_interruptible(&port->port.delta_msr_wait); in cypress_read_int_callback()
1188 tty_insert_flip_string_fixed_flag(&port->port, data + i, in cypress_read_int_callback()
1190 tty_flip_buffer_push(&port->port); in cypress_read_int_callback()
1204 usb_fill_int_urb(port->interrupt_in_urb, port->serial->dev, in cypress_read_int_callback()
1205 usb_rcvintpipe(port->serial->dev, in cypress_read_int_callback()
1206 port->interrupt_in_endpointAddress), in cypress_read_int_callback()
1207 port->interrupt_in_urb->transfer_buffer, in cypress_read_int_callback()
1208 port->interrupt_in_urb->transfer_buffer_length, in cypress_read_int_callback()
1209 cypress_read_int_callback, port, in cypress_read_int_callback()
1211 result = usb_submit_urb(port->interrupt_in_urb, GFP_ATOMIC); in cypress_read_int_callback()
1215 cypress_set_dead(port); in cypress_read_int_callback()
1223 struct usb_serial_port *port = urb->context; in cypress_write_int_callback() local
1224 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_write_int_callback()
1246 cypress_set_dead(port); in cypress_write_int_callback()
1252 cypress_send(port); in cypress_write_int_callback()