Lines Matching refs:port

46 static int iuu_create_sysfs_attrs(struct usb_serial_port *port);
47 static int iuu_remove_sysfs_attrs(struct usb_serial_port *port);
65 static int iuu_port_probe(struct usb_serial_port *port)
90 usb_set_serial_port_data(port, priv);
92 ret = iuu_create_sysfs_attrs(port);
103 static void iuu_port_remove(struct usb_serial_port *port)
105 struct iuu_private *priv = usb_get_serial_port_data(port);
107 iuu_remove_sysfs_attrs(port);
116 struct usb_serial_port *port = tty->driver_data;
117 struct iuu_private *priv = usb_get_serial_port_data(port);
121 dev_dbg(&port->dev, "%s msg : SET = 0x%04x, CLEAR = 0x%04x\n",
127 dev_dbg(&port->dev, "%s TIOCMSET RESET called !!!\n", __func__);
144 struct usb_serial_port *port = tty->driver_data;
145 struct iuu_private *priv = usb_get_serial_port_data(port);
158 struct usb_serial_port *port = urb->context;
162 dev_dbg(&port->dev, "%s - status = %d\n", __func__, status);
168 memset(port->write_urb->transfer_buffer, IUU_UART_RX, 1);
169 usb_fill_bulk_urb(port->write_urb, port->serial->dev,
170 usb_sndbulkpipe(port->serial->dev,
171 port->bulk_out_endpointAddress),
172 port->write_urb->transfer_buffer, 1,
173 read_rxcmd_callback, port);
174 usb_submit_urb(port->write_urb, GFP_ATOMIC);
177 static int iuu_reset(struct usb_serial_port *port, u8 wt)
179 struct iuu_private *priv = usb_get_serial_port_data(port);
181 char *buf_ptr = port->write_urb->transfer_buffer;
192 usb_fill_bulk_urb(port->write_urb,
193 port->serial->dev,
194 usb_sndbulkpipe(port->serial->dev,
195 port->bulk_out_endpointAddress),
196 port->write_urb->transfer_buffer, 4, iuu_rxcmd, port);
197 result = usb_submit_urb(port->write_urb, GFP_ATOMIC);
210 struct usb_serial_port *port = urb->context;
211 struct iuu_private *priv = usb_get_serial_port_data(port);
216 dev_dbg(&port->dev, "%s - status = %d\n", __func__, status);
222 dev_dbg(&port->dev, "%s - enter\n", __func__);
240 struct usb_serial_port *port = urb->context;
243 dev_dbg(&port->dev, "%s - status = %d\n", __func__, status);
244 usb_fill_bulk_urb(port->read_urb, port->serial->dev,
245 usb_rcvbulkpipe(port->serial->dev,
246 port->bulk_in_endpointAddress),
247 port->read_urb->transfer_buffer, 256,
248 iuu_update_status_callback, port);
249 usb_submit_urb(port->read_urb, GFP_ATOMIC);
252 static int iuu_status(struct usb_serial_port *port)
256 memset(port->write_urb->transfer_buffer, IUU_GET_STATE_REGISTER, 1);
257 usb_fill_bulk_urb(port->write_urb, port->serial->dev,
258 usb_sndbulkpipe(port->serial->dev,
259 port->bulk_out_endpointAddress),
260 port->write_urb->transfer_buffer, 1,
261 iuu_status_callback, port);
262 result = usb_submit_urb(port->write_urb, GFP_ATOMIC);
267 static int bulk_immediate(struct usb_serial_port *port, u8 *buf, u8 count)
270 struct usb_serial *serial = port->serial;
273 /* send the data out the bulk port */
278 port->bulk_out_endpointAddress), buf,
282 dev_dbg(&port->dev, "%s - error = %2x\n", __func__, status);
284 dev_dbg(&port->dev, "%s - write OK !\n", __func__);
288 static int read_immediate(struct usb_serial_port *port, u8 *buf, u8 count)
291 struct usb_serial *serial = port->serial;
294 /* send the data out the bulk port */
298 port->bulk_in_endpointAddress), buf,
302 dev_dbg(&port->dev, "%s - error = %2x\n", __func__, status);
304 dev_dbg(&port->dev, "%s - read OK !\n", __func__);
308 static int iuu_led(struct usb_serial_port *port, unsigned int R,
325 status = bulk_immediate(port, buf, 8);
328 dev_dbg(&port->dev, "%s - led error status = %2x\n", __func__, status);
330 dev_dbg(&port->dev, "%s - led OK !\n", __func__);
349 struct usb_serial_port *port = urb->context;
350 char *buf_ptr = port->write_urb->transfer_buffer;
360 usb_fill_bulk_urb(port->write_urb, port->serial->dev,
361 usb_sndbulkpipe(port->serial->dev,
362 port->bulk_out_endpointAddress),
363 port->write_urb->transfer_buffer, 8 ,
364 iuu_rxcmd, port);
365 usb_submit_urb(port->write_urb, GFP_ATOMIC);
370 struct usb_serial_port *port = urb->context;
371 char *buf_ptr = port->write_urb->transfer_buffer;
380 usb_fill_bulk_urb(port->write_urb, port->serial->dev,
381 usb_sndbulkpipe(port->serial->dev,
382 port->bulk_out_endpointAddress),
383 port->write_urb->transfer_buffer, 8 ,
384 iuu_rxcmd, port);
385 usb_submit_urb(port->write_urb, GFP_ATOMIC);
390 static int iuu_clk(struct usb_serial_port *port, int dwFrq)
393 struct iuu_private *priv = usb_get_serial_port_data(port);
414 status = bulk_immediate(port, (u8 *) priv->buf, Count);
416 dev_dbg(&port->dev, "%s - write error\n", __func__);
522 status = bulk_immediate(port, (u8 *) priv->buf, Count);
524 dev_dbg(&port->dev, "%s - write error\n", __func__);
528 static int iuu_uart_flush(struct usb_serial_port *port)
530 struct device *dev = &port->dev;
534 struct iuu_private *priv = usb_get_serial_port_data(port);
536 if (iuu_led(port, 0xF000, 0, 0, 0xFF) < 0)
546 status = bulk_immediate(port, rxcmd, 1);
552 status = read_immediate(port, &priv->len, 1);
560 status = read_immediate(port, priv->buf, priv->len);
568 iuu_led(port, 0, 0xF000, 0, 0xFF);
578 struct usb_serial_port *port = urb->context;
589 dev_dbg(&port->dev, "%s - %i chars to write\n", __func__, urb->actual_length);
592 tty_insert_flip_string(&port->port, data, urb->actual_length);
593 tty_flip_buffer_push(&port->port);
598 static int iuu_bulk_write(struct usb_serial_port *port)
600 struct iuu_private *priv = usb_get_serial_port_data(port);
604 char *buf_ptr = port->write_urb->transfer_buffer;
615 dev_dbg(&port->dev, "%s - writing %i chars : %*ph\n", __func__,
617 usb_fill_bulk_urb(port->write_urb, port->serial->dev,
618 usb_sndbulkpipe(port->serial->dev,
619 port->bulk_out_endpointAddress),
620 port->write_urb->transfer_buffer, buf_len + 3,
621 iuu_rxcmd, port);
622 result = usb_submit_urb(port->write_urb, GFP_ATOMIC);
623 usb_serial_port_softint(port);
627 static int iuu_read_buf(struct usb_serial_port *port, int len)
631 usb_fill_bulk_urb(port->read_urb, port->serial->dev,
632 usb_rcvbulkpipe(port->serial->dev,
633 port->bulk_in_endpointAddress),
634 port->read_urb->transfer_buffer, len,
635 read_buf_callback, port);
636 result = usb_submit_urb(port->read_urb, GFP_ATOMIC);
642 struct usb_serial_port *port = urb->context;
643 struct iuu_private *priv = usb_get_serial_port_data(port);
651 dev_dbg(&port->dev, "%s - status = %d\n", __func__, status);
660 dev_dbg(&port->dev, "%s - urb->actual_length = %i\n", __func__,
667 dev_dbg(&port->dev, "%s - call read buf - len to read is %i\n",
669 status = iuu_read_buf(port, len);
674 status = iuu_status(port);
682 status = iuu_reset(port, 0xC);
689 status = iuu_bulk_write(port);
694 dev_dbg(&port->dev, "%s - rxcmd recall\n", __func__);
698 static int iuu_uart_write(struct tty_struct *tty, struct usb_serial_port *port,
701 struct iuu_private *priv = usb_get_serial_port_data(port);
721 struct usb_serial_port *port = urb->context;
730 usb_fill_bulk_urb(port->read_urb, port->serial->dev,
731 usb_rcvbulkpipe(port->serial->dev,
732 port->bulk_in_endpointAddress),
733 port->read_urb->transfer_buffer, 256,
734 iuu_uart_read_callback, port);
735 result = usb_submit_urb(port->read_urb, GFP_ATOMIC);
736 dev_dbg(&port->dev, "%s - submit result = %d\n", __func__, result);
739 static int iuu_uart_on(struct usb_serial_port *port)
754 status = bulk_immediate(port, buf, 4);
756 dev_dbg(&port->dev, "%s - uart_on error\n", __func__);
760 status = iuu_uart_flush(port);
762 dev_dbg(&port->dev, "%s - uart_flush error\n", __func__);
769 static int iuu_uart_off(struct usb_serial_port *port)
778 status = bulk_immediate(port, buf, 1);
780 dev_dbg(&port->dev, "%s - uart_off error\n", __func__);
786 static int iuu_uart_baud(struct usb_serial_port *port, u32 baud_base,
797 dev_dbg(&port->dev, "%s - enter baud_base=%d\n", __func__, baud_base);
874 status = bulk_immediate(port, dataout, DataCount);
876 dev_dbg(&port->dev, "%s - uart_off error\n", __func__);
882 struct usb_serial_port *port,
886 struct iuu_private *priv = usb_get_serial_port_data(port);
898 dev_dbg(&port->dev, "%s - enter c_ospeed or baud=%d\n", __func__, baud);
918 status = iuu_uart_baud(port,
936 static void iuu_close(struct usb_serial_port *port)
938 /* iuu_led (port,255,0,0,0); */
940 iuu_uart_off(port);
942 usb_kill_urb(port->write_urb);
943 usb_kill_urb(port->read_urb);
945 iuu_led(port, 0, 0, 0xF000, 0xFF);
958 static int iuu_open(struct tty_struct *tty, struct usb_serial_port *port)
960 struct usb_serial *serial = port->serial;
961 struct device *dev = &port->dev;
965 struct iuu_private *priv = usb_get_serial_port_data(port);
970 usb_clear_halt(serial->dev, port->write_urb->pipe);
971 usb_clear_halt(serial->dev, port->read_urb->pipe);
976 result = usb_control_msg(port->serial->dev, \
977 usb_sndctrlpipe(port->serial->dev, 0), \
988 iuu_led(port, 0xF000, 0xF000, 0, 0xFF);
989 iuu_uart_on(port);
996 iuu_clk(port, IUU_CLK_3680000 * boost / 100);
998 iuu_uart_baud(port, baud * boost / 100, &actual,
1002 iuu_clk(port, IUU_CLK_6000000 * boost / 100);
1006 iuu_uart_baud(port, 16457 * boost / 100, &actual,
1010 iuu_clk(port, IUU_CLK_3579000 * boost / 100);
1013 iuu_uart_baud(port, baud * boost / 100, &actual,
1056 iuu_uart_flush(port);
1060 memset(port->write_urb->transfer_buffer, IUU_UART_RX, 1);
1061 usb_fill_bulk_urb(port->write_urb, port->serial->dev,
1062 usb_sndbulkpipe(port->serial->dev,
1063 port->bulk_out_endpointAddress),
1064 port->write_urb->transfer_buffer, 1,
1065 read_rxcmd_callback, port);
1066 result = usb_submit_urb(port->write_urb, GFP_KERNEL);
1069 iuu_close(port);
1078 static int iuu_vcc_set(struct usb_serial_port *port, unsigned int vcc)
1093 status = bulk_immediate(port, buf, 5);
1097 dev_dbg(&port->dev, "%s - vcc error status = %2x\n", __func__, status);
1099 dev_dbg(&port->dev, "%s - vcc OK !\n", __func__);
1111 struct usb_serial_port *port = to_usb_serial_port(dev);
1112 struct iuu_private *priv = usb_get_serial_port_data(port);
1120 struct usb_serial_port *port = to_usb_serial_port(dev);
1121 struct iuu_private *priv = usb_get_serial_port_data(port);
1135 iuu_vcc_set(port, v);
1143 static int iuu_create_sysfs_attrs(struct usb_serial_port *port)
1145 return device_create_file(&port->dev, &dev_attr_vcc_mode);
1148 static int iuu_remove_sysfs_attrs(struct usb_serial_port *port)
1150 device_remove_file(&port->dev, &dev_attr_vcc_mode);