Lines Matching refs:port

56 static inline int metrousb_is_unidirectional_mode(struct usb_serial_port *port)  in metrousb_is_unidirectional_mode()  argument
59 port->serial->dev->descriptor.idProduct); in metrousb_is_unidirectional_mode()
64 static int metrousb_send_unidirectional_cmd(u8 cmd, struct usb_serial_port *port) in metrousb_send_unidirectional_cmd() argument
70 if (!metrousb_is_unidirectional_mode(port)) in metrousb_send_unidirectional_cmd()
79 ret = usb_interrupt_msg(port->serial->dev, in metrousb_send_unidirectional_cmd()
80 usb_sndintpipe(port->serial->dev, port->interrupt_out_endpointAddress), in metrousb_send_unidirectional_cmd()
95 struct usb_serial_port *port = urb->context; in metrousb_read_int_callback() local
96 struct metrousb_private *metro_priv = usb_get_serial_port_data(port); in metrousb_read_int_callback()
102 dev_dbg(&port->dev, "%s\n", __func__); in metrousb_read_int_callback()
112 dev_dbg(&port->dev, in metrousb_read_int_callback()
117 dev_dbg(&port->dev, in metrousb_read_int_callback()
127 tty_insert_flip_string(&port->port, data, urb->actual_length); in metrousb_read_int_callback()
130 tty_flip_buffer_push(&port->port); in metrousb_read_int_callback()
140 usb_fill_int_urb(port->interrupt_in_urb, port->serial->dev, in metrousb_read_int_callback()
141 usb_rcvintpipe(port->serial->dev, port->interrupt_in_endpointAddress), in metrousb_read_int_callback()
142 port->interrupt_in_urb->transfer_buffer, in metrousb_read_int_callback()
143 port->interrupt_in_urb->transfer_buffer_length, in metrousb_read_int_callback()
144 metrousb_read_int_callback, port, 1); in metrousb_read_int_callback()
146 result = usb_submit_urb(port->interrupt_in_urb, GFP_ATOMIC); in metrousb_read_int_callback()
149 dev_err(&port->dev, in metrousb_read_int_callback()
159 dev_err(&port->dev, in metrousb_read_int_callback()
166 struct usb_serial_port *port = urb->context; in metrousb_write_int_callback() local
168 dev_warn(&port->dev, "%s not implemented yet.\n", in metrousb_write_int_callback()
172 static void metrousb_cleanup(struct usb_serial_port *port) in metrousb_cleanup() argument
174 dev_dbg(&port->dev, "%s\n", __func__); in metrousb_cleanup()
176 usb_unlink_urb(port->interrupt_in_urb); in metrousb_cleanup()
177 usb_kill_urb(port->interrupt_in_urb); in metrousb_cleanup()
179 metrousb_send_unidirectional_cmd(UNI_CMD_CLOSE, port); in metrousb_cleanup()
182 static int metrousb_open(struct tty_struct *tty, struct usb_serial_port *port) in metrousb_open() argument
184 struct usb_serial *serial = port->serial; in metrousb_open()
185 struct metrousb_private *metro_priv = usb_get_serial_port_data(port); in metrousb_open()
189 dev_dbg(&port->dev, "%s\n", __func__); in metrousb_open()
192 if (!port->interrupt_in_urb) { in metrousb_open()
193 dev_err(&port->dev, "%s - interrupt urb not initialized\n", in metrousb_open()
205 usb_clear_halt(serial->dev, port->interrupt_in_urb->pipe); in metrousb_open()
208 usb_fill_int_urb(port->interrupt_in_urb, serial->dev, in metrousb_open()
209 usb_rcvintpipe(serial->dev, port->interrupt_in_endpointAddress), in metrousb_open()
210 port->interrupt_in_urb->transfer_buffer, in metrousb_open()
211 port->interrupt_in_urb->transfer_buffer_length, in metrousb_open()
212 metrousb_read_int_callback, port, 1); in metrousb_open()
213 result = usb_submit_urb(port->interrupt_in_urb, GFP_KERNEL); in metrousb_open()
216 dev_err(&port->dev, in metrousb_open()
223 result = metrousb_send_unidirectional_cmd(UNI_CMD_OPEN, port); in metrousb_open()
225 dev_err(&port->dev, in metrousb_open()
231 dev_dbg(&port->dev, "%s - port open\n", __func__); in metrousb_open()
262 static int metrousb_port_probe(struct usb_serial_port *port) in metrousb_port_probe() argument
272 usb_set_serial_port_data(port, metro_priv); in metrousb_port_probe()
277 static int metrousb_port_remove(struct usb_serial_port *port) in metrousb_port_remove() argument
281 metro_priv = usb_get_serial_port_data(port); in metrousb_port_remove()
289 struct usb_serial_port *port = tty->driver_data; in metrousb_throttle() local
290 struct metrousb_private *metro_priv = usb_get_serial_port_data(port); in metrousb_throttle()
304 struct usb_serial_port *port = tty->driver_data; in metrousb_tiocmget() local
305 struct metrousb_private *metro_priv = usb_get_serial_port_data(port); in metrousb_tiocmget()
320 struct usb_serial_port *port = tty->driver_data; in metrousb_tiocmset() local
321 struct usb_serial *serial = port->serial; in metrousb_tiocmset()
322 struct metrousb_private *metro_priv = usb_get_serial_port_data(port); in metrousb_tiocmset()
348 struct usb_serial_port *port = tty->driver_data; in metrousb_unthrottle() local
349 struct metrousb_private *metro_priv = usb_get_serial_port_data(port); in metrousb_unthrottle()
361 port->interrupt_in_urb->dev = port->serial->dev; in metrousb_unthrottle()
362 result = usb_submit_urb(port->interrupt_in_urb, GFP_ATOMIC); in metrousb_unthrottle()