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