Lines Matching full:serial
8 * Supports the following Moxa USB to serial converters:
19 #include <linux/serial.h>
27 #include <linux/usb/serial.h>
105 /* Definitions for serial event type */
212 static int mxuport_recv_ctrl_urb(struct usb_serial *serial, in mxuport_recv_ctrl_urb() argument
218 status = usb_control_msg(serial->dev, in mxuport_recv_ctrl_urb()
219 usb_rcvctrlpipe(serial->dev, 0), in mxuport_recv_ctrl_urb()
226 dev_err(&serial->interface->dev, in mxuport_recv_ctrl_urb()
233 dev_err(&serial->interface->dev, in mxuport_recv_ctrl_urb()
243 static int mxuport_send_ctrl_data_urb(struct usb_serial *serial, in mxuport_send_ctrl_data_urb() argument
250 status = usb_control_msg(serial->dev, in mxuport_send_ctrl_data_urb()
251 usb_sndctrlpipe(serial->dev, 0), in mxuport_send_ctrl_data_urb()
258 dev_err(&serial->interface->dev, in mxuport_send_ctrl_data_urb()
265 dev_err(&serial->interface->dev, in mxuport_send_ctrl_data_urb()
275 static int mxuport_send_ctrl_urb(struct usb_serial *serial, in mxuport_send_ctrl_urb() argument
278 return mxuport_send_ctrl_data_urb(serial, request, value, index, in mxuport_send_ctrl_urb()
294 struct usb_serial *serial = port->serial; in mxuport_throttle() local
298 mxuport_send_ctrl_urb(serial, RQ_VENDOR_SET_RX_HOST_EN, in mxuport_throttle()
313 struct usb_serial *serial = port->serial; in mxuport_unthrottle() local
317 mxuport_send_ctrl_urb(serial, RQ_VENDOR_SET_RX_HOST_EN, in mxuport_unthrottle()
473 struct usb_serial *serial = port->serial; in mxuport_process_read_urb_demux_data() local
489 if (rcv_port >= serial->num_ports) { in mxuport_process_read_urb_demux_data()
495 demux_port = serial->port[rcv_port]; in mxuport_process_read_urb_demux_data()
520 struct usb_serial *serial = port->serial; in mxuport_process_read_urb_demux_event() local
536 if (rcv_port >= serial->num_ports) { in mxuport_process_read_urb_demux_event()
542 demux_port = serial->port[rcv_port]; in mxuport_process_read_urb_demux_event()
559 * contain serial data or events.
564 struct usb_serial *serial = port->serial; in mxuport_process_read_urb() local
566 if (port == serial->port[0]) in mxuport_process_read_urb()
569 if (port == serial->port[1]) in mxuport_process_read_urb()
579 struct usb_serial *serial = port->serial; in mxuport_tx_empty() local
589 err = mxuport_recv_ctrl_urb(serial, RQ_VENDOR_GET_OUTQUEUE, 0, in mxuport_tx_empty()
607 struct usb_serial *serial = port->serial; in mxuport_set_mcr() local
612 err = mxuport_send_ctrl_urb(serial, RQ_VENDOR_SET_MCR, in mxuport_set_mcr()
623 struct usb_serial *serial = port->serial; in mxuport_set_dtr() local
628 err = mxuport_send_ctrl_urb(serial, RQ_VENDOR_SET_DTR, in mxuport_set_dtr()
645 struct usb_serial *serial = port->serial; in mxuport_set_rts() local
673 err = mxuport_send_ctrl_urb(serial, RQ_VENDOR_SET_RTS, in mxuport_set_rts()
772 struct usb_serial *serial) in mxuport_set_termios_flow() argument
791 err = mxuport_send_ctrl_data_urb(serial, RQ_VENDOR_SET_CHARS, in mxuport_set_termios_flow()
803 err = mxuport_send_ctrl_urb(serial, RQ_VENDOR_SET_XONXOFF, in mxuport_set_termios_flow()
846 struct usb_serial *serial = port->serial; in mxuport_set_termios() local
910 err = mxuport_send_ctrl_data_urb(serial, RQ_VENDOR_SET_LINE, in mxuport_set_termios()
915 err = mxuport_set_termios_flow(tty, old_termios, port, serial); in mxuport_set_termios()
926 err = mxuport_send_ctrl_data_urb(serial, RQ_VENDOR_SET_BAUD, in mxuport_set_termios()
945 static int mxuport_calc_num_ports(struct usb_serial *serial, in mxuport_calc_num_ports() argument
948 unsigned long features = (unsigned long)usb_get_serial_data(serial); in mxuport_calc_num_ports()
961 dev_warn(&serial->interface->dev, in mxuport_calc_num_ports()
981 static int mxuport_get_fw_version(struct usb_serial *serial, u32 *version) in mxuport_get_fw_version() argument
991 err = mxuport_recv_ctrl_urb(serial, RQ_VENDOR_GET_VERSION, 0, 0, in mxuport_get_fw_version()
1006 static int mxuport_download_fw(struct usb_serial *serial, in mxuport_download_fw() argument
1018 dev_dbg(&serial->interface->dev, "Starting firmware download...\n"); in mxuport_download_fw()
1019 err = mxuport_send_ctrl_urb(serial, RQ_VENDOR_START_FW_DOWN, 0, 0); in mxuport_download_fw()
1028 err = mxuport_send_ctrl_data_urb(serial, RQ_VENDOR_FW_DATA, in mxuport_download_fw()
1031 mxuport_send_ctrl_urb(serial, RQ_VENDOR_STOP_FW_DOWN, in mxuport_download_fw()
1042 err = mxuport_send_ctrl_urb(serial, RQ_VENDOR_STOP_FW_DOWN, 0, 0); in mxuport_download_fw()
1047 err = mxuport_send_ctrl_urb(serial, RQ_VENDOR_QUERY_FW_READY, 0, 0); in mxuport_download_fw()
1054 static int mxuport_probe(struct usb_serial *serial, in mxuport_probe() argument
1057 u16 productid = le16_to_cpu(serial->dev->descriptor.idProduct); in mxuport_probe()
1065 err = mxuport_send_ctrl_urb(serial, RQ_VENDOR_QUERY_FW_CONFIG, 0, 0); in mxuport_probe()
1067 mxuport_send_ctrl_urb(serial, RQ_VENDOR_RESET_DEVICE, 0, 0); in mxuport_probe()
1071 err = mxuport_get_fw_version(serial, &version); in mxuport_probe()
1075 dev_dbg(&serial->interface->dev, "Device firmware version v%x.%x.%x\n", in mxuport_probe()
1082 err = request_firmware(&fw_p, buf, &serial->interface->dev); in mxuport_probe()
1084 dev_warn(&serial->interface->dev, "Firmware %s not found\n", in mxuport_probe()
1093 dev_dbg(&serial->interface->dev, in mxuport_probe()
1098 err = mxuport_download_fw(serial, fw_p); in mxuport_probe()
1101 err = mxuport_get_fw_version(serial, &version); in mxuport_probe()
1107 dev_info(&serial->interface->dev, in mxuport_probe()
1117 usb_set_serial_data(serial, (void *)id->driver_info); in mxuport_probe()
1127 struct usb_serial *serial = port->serial; in mxuport_port_probe() local
1143 err = mxuport_send_ctrl_urb(serial, RQ_VENDOR_SET_FIFO_DISABLE, in mxuport_port_probe()
1149 err = mxuport_send_ctrl_urb(serial, RQ_VENDOR_SET_HIGH_PERFOR, in mxuport_port_probe()
1155 return mxuport_send_ctrl_urb(serial, RQ_VENDOR_SET_INTERFACE, in mxuport_port_probe()
1160 static int mxuport_attach(struct usb_serial *serial) in mxuport_attach() argument
1162 struct usb_serial_port *port0 = serial->port[0]; in mxuport_attach()
1163 struct usb_serial_port *port1 = serial->port[1]; in mxuport_attach()
1186 static void mxuport_release(struct usb_serial *serial) in mxuport_release() argument
1188 struct usb_serial_port *port0 = serial->port[0]; in mxuport_release()
1189 struct usb_serial_port *port1 = serial->port[1]; in mxuport_release()
1198 struct usb_serial *serial = port->serial; in mxuport_open() local
1202 err = mxuport_send_ctrl_urb(serial, RQ_VENDOR_SET_RX_HOST_EN, in mxuport_open()
1207 err = mxuport_send_ctrl_urb(serial, RQ_VENDOR_SET_OPEN, in mxuport_open()
1210 mxuport_send_ctrl_urb(serial, RQ_VENDOR_SET_RX_HOST_EN, in mxuport_open()
1230 struct usb_serial *serial = port->serial; in mxuport_close() local
1232 mxuport_send_ctrl_urb(serial, RQ_VENDOR_SET_OPEN, 0, in mxuport_close()
1235 mxuport_send_ctrl_urb(serial, RQ_VENDOR_SET_RX_HOST_EN, 0, in mxuport_close()
1243 struct usb_serial *serial = port->serial; in mxuport_break_ctl() local
1254 mxuport_send_ctrl_urb(serial, RQ_VENDOR_SET_BREAK, in mxuport_break_ctl()
1258 static int mxuport_resume(struct usb_serial *serial) in mxuport_resume() argument
1266 port = serial->port[i]; in mxuport_resume()
1273 for (i = 0; i < serial->num_ports; i++) { in mxuport_resume()
1274 port = serial->port[i]; in mxuport_resume()