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 int 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);
118 struct usb_serial_port *port = tty->driver_data;
119 struct iuu_private *priv = usb_get_serial_port_data(port);
123 dev_dbg(&port->dev, "%s msg : SET = 0x%04x, CLEAR = 0x%04x\n",
129 dev_dbg(&port->dev, "%s TIOCMSET RESET called !!!\n", __func__);
146 struct usb_serial_port *port = tty->driver_data;
147 struct iuu_private *priv = usb_get_serial_port_data(port);
160 struct usb_serial_port *port = urb->context;
164 dev_dbg(&port->dev, "%s - status = %d\n", __func__, status);
170 memset(port->write_urb->transfer_buffer, IUU_UART_RX, 1);
171 usb_fill_bulk_urb(port->write_urb, port->serial->dev,
172 usb_sndbulkpipe(port->serial->dev,
173 port->bulk_out_endpointAddress),
174 port->write_urb->transfer_buffer, 1,
175 read_rxcmd_callback, port);
176 usb_submit_urb(port->write_urb, GFP_ATOMIC);
179 static int iuu_reset(struct usb_serial_port *port, u8 wt)
181 struct iuu_private *priv = usb_get_serial_port_data(port);
183 char *buf_ptr = port->write_urb->transfer_buffer;
194 usb_fill_bulk_urb(port->write_urb,
195 port->serial->dev,
196 usb_sndbulkpipe(port->serial->dev,
197 port->bulk_out_endpointAddress),
198 port->write_urb->transfer_buffer, 4, iuu_rxcmd, port);
199 result = usb_submit_urb(port->write_urb, GFP_ATOMIC);
212 struct usb_serial_port *port = urb->context;
213 struct iuu_private *priv = usb_get_serial_port_data(port);
218 dev_dbg(&port->dev, "%s - status = %d\n", __func__, status);
224 dev_dbg(&port->dev, "%s - enter\n", __func__);
242 struct usb_serial_port *port = urb->context;
245 dev_dbg(&port->dev, "%s - status = %d\n", __func__, status);
246 usb_fill_bulk_urb(port->read_urb, port->serial->dev,
247 usb_rcvbulkpipe(port->serial->dev,
248 port->bulk_in_endpointAddress),
249 port->read_urb->transfer_buffer, 256,
250 iuu_update_status_callback, port);
251 usb_submit_urb(port->read_urb, GFP_ATOMIC);
254 static int iuu_status(struct usb_serial_port *port)
258 memset(port->write_urb->transfer_buffer, IUU_GET_STATE_REGISTER, 1);
259 usb_fill_bulk_urb(port->write_urb, port->serial->dev,
260 usb_sndbulkpipe(port->serial->dev,
261 port->bulk_out_endpointAddress),
262 port->write_urb->transfer_buffer, 1,
263 iuu_status_callback, port);
264 result = usb_submit_urb(port->write_urb, GFP_ATOMIC);
269 static int bulk_immediate(struct usb_serial_port *port, u8 *buf, u8 count)
272 struct usb_serial *serial = port->serial;
275 /* send the data out the bulk port */
280 port->bulk_out_endpointAddress), buf,
284 dev_dbg(&port->dev, "%s - error = %2x\n", __func__, status);
286 dev_dbg(&port->dev, "%s - write OK !\n", __func__);
290 static int read_immediate(struct usb_serial_port *port, u8 *buf, u8 count)
293 struct usb_serial *serial = port->serial;
296 /* send the data out the bulk port */
300 port->bulk_in_endpointAddress), buf,
304 dev_dbg(&port->dev, "%s - error = %2x\n", __func__, status);
306 dev_dbg(&port->dev, "%s - read OK !\n", __func__);
310 static int iuu_led(struct usb_serial_port *port, unsigned int R,
327 status = bulk_immediate(port, buf, 8);
330 dev_dbg(&port->dev, "%s - led error status = %2x\n", __func__, status);
332 dev_dbg(&port->dev, "%s - led OK !\n", __func__);
351 struct usb_serial_port *port = urb->context;
352 char *buf_ptr = port->write_urb->transfer_buffer;
362 usb_fill_bulk_urb(port->write_urb, port->serial->dev,
363 usb_sndbulkpipe(port->serial->dev,
364 port->bulk_out_endpointAddress),
365 port->write_urb->transfer_buffer, 8 ,
366 iuu_rxcmd, port);
367 usb_submit_urb(port->write_urb, GFP_ATOMIC);
372 struct usb_serial_port *port = urb->context;
373 char *buf_ptr = port->write_urb->transfer_buffer;
382 usb_fill_bulk_urb(port->write_urb, port->serial->dev,
383 usb_sndbulkpipe(port->serial->dev,
384 port->bulk_out_endpointAddress),
385 port->write_urb->transfer_buffer, 8 ,
386 iuu_rxcmd, port);
387 usb_submit_urb(port->write_urb, GFP_ATOMIC);
392 static int iuu_clk(struct usb_serial_port *port, int dwFrq)
395 struct iuu_private *priv = usb_get_serial_port_data(port);
416 status = bulk_immediate(port, (u8 *) priv->buf, Count);
418 dev_dbg(&port->dev, "%s - write error\n", __func__);
524 status = bulk_immediate(port, (u8 *) priv->buf, Count);
526 dev_dbg(&port->dev, "%s - write error\n", __func__);
530 static int iuu_uart_flush(struct usb_serial_port *port)
532 struct device *dev = &port->dev;
536 struct iuu_private *priv = usb_get_serial_port_data(port);
538 if (iuu_led(port, 0xF000, 0, 0, 0xFF) < 0)
548 status = bulk_immediate(port, rxcmd, 1);
554 status = read_immediate(port, &priv->len, 1);
562 status = read_immediate(port, priv->buf, priv->len);
570 iuu_led(port, 0, 0xF000, 0, 0xFF);
580 struct usb_serial_port *port = urb->context;
591 dev_dbg(&port->dev, "%s - %i chars to write\n", __func__, urb->actual_length);
594 tty_insert_flip_string(&port->port, data, urb->actual_length);
595 tty_flip_buffer_push(&port->port);
600 static int iuu_bulk_write(struct usb_serial_port *port)
602 struct iuu_private *priv = usb_get_serial_port_data(port);
606 char *buf_ptr = port->write_urb->transfer_buffer;
617 dev_dbg(&port->dev, "%s - writing %i chars : %*ph\n", __func__,
619 usb_fill_bulk_urb(port->write_urb, port->serial->dev,
620 usb_sndbulkpipe(port->serial->dev,
621 port->bulk_out_endpointAddress),
622 port->write_urb->transfer_buffer, buf_len + 3,
623 iuu_rxcmd, port);
624 result = usb_submit_urb(port->write_urb, GFP_ATOMIC);
625 usb_serial_port_softint(port);
629 static int iuu_read_buf(struct usb_serial_port *port, int len)
633 usb_fill_bulk_urb(port->read_urb, port->serial->dev,
634 usb_rcvbulkpipe(port->serial->dev,
635 port->bulk_in_endpointAddress),
636 port->read_urb->transfer_buffer, len,
637 read_buf_callback, port);
638 result = usb_submit_urb(port->read_urb, GFP_ATOMIC);
644 struct usb_serial_port *port = urb->context;
645 struct iuu_private *priv = usb_get_serial_port_data(port);
654 dev_dbg(&port->dev, "%s - status = %d\n", __func__, status);
663 dev_dbg(&port->dev, "%s - urb->actual_length = %i\n", __func__,
671 dev_dbg(&port->dev, "%s - call read buf - len to read is %i\n",
673 status = iuu_read_buf(port, len);
678 status = iuu_status(port);
686 status = iuu_reset(port, 0xC);
693 status = iuu_bulk_write(port);
698 dev_dbg(&port->dev, "%s - rxcmd recall\n", __func__);
702 static int iuu_uart_write(struct tty_struct *tty, struct usb_serial_port *port,
705 struct iuu_private *priv = usb_get_serial_port_data(port);
725 struct usb_serial_port *port = urb->context;
734 usb_fill_bulk_urb(port->read_urb, port->serial->dev,
735 usb_rcvbulkpipe(port->serial->dev,
736 port->bulk_in_endpointAddress),
737 port->read_urb->transfer_buffer, 256,
738 iuu_uart_read_callback, port);
739 result = usb_submit_urb(port->read_urb, GFP_ATOMIC);
740 dev_dbg(&port->dev, "%s - submit result = %d\n", __func__, result);
743 static int iuu_uart_on(struct usb_serial_port *port)
758 status = bulk_immediate(port, buf, 4);
760 dev_dbg(&port->dev, "%s - uart_on error\n", __func__);
764 status = iuu_uart_flush(port);
766 dev_dbg(&port->dev, "%s - uart_flush error\n", __func__);
773 static int iuu_uart_off(struct usb_serial_port *port)
782 status = bulk_immediate(port, buf, 1);
784 dev_dbg(&port->dev, "%s - uart_off error\n", __func__);
790 static int iuu_uart_baud(struct usb_serial_port *port, u32 baud_base,
801 dev_dbg(&port->dev, "%s - enter baud_base=%d\n", __func__, baud_base);
880 status = bulk_immediate(port, dataout, DataCount);
882 dev_dbg(&port->dev, "%s - uart_off error\n", __func__);
888 struct usb_serial_port *port, struct ktermios *old_termios)
891 struct iuu_private *priv = usb_get_serial_port_data(port);
903 dev_dbg(&port->dev, "%s - enter c_ospeed or baud=%d\n", __func__, baud);
923 status = iuu_uart_baud(port,
941 static void iuu_close(struct usb_serial_port *port)
943 /* iuu_led (port,255,0,0,0); */
945 iuu_uart_off(port);
947 usb_kill_urb(port->write_urb);
948 usb_kill_urb(port->read_urb);
950 iuu_led(port, 0, 0, 0xF000, 0xFF);
963 static int iuu_open(struct tty_struct *tty, struct usb_serial_port *port)
965 struct usb_serial *serial = port->serial;
966 struct device *dev = &port->dev;
970 struct iuu_private *priv = usb_get_serial_port_data(port);
975 usb_clear_halt(serial->dev, port->write_urb->pipe);
976 usb_clear_halt(serial->dev, port->read_urb->pipe);
981 result = usb_control_msg(port->serial->dev, \
982 usb_sndctrlpipe(port->serial->dev, 0), \
993 iuu_led(port, 0xF000, 0xF000, 0, 0xFF);
994 iuu_uart_on(port);
1001 iuu_clk(port, IUU_CLK_3680000 * boost / 100);
1003 iuu_uart_baud(port, baud * boost / 100, &actual,
1007 iuu_clk(port, IUU_CLK_6000000 * boost / 100);
1011 iuu_uart_baud(port, 16457 * boost / 100, &actual,
1015 iuu_clk(port, IUU_CLK_3579000 * boost / 100);
1018 iuu_uart_baud(port, baud * boost / 100, &actual,
1061 iuu_uart_flush(port);
1065 memset(port->write_urb->transfer_buffer, IUU_UART_RX, 1);
1066 usb_fill_bulk_urb(port->write_urb, port->serial->dev,
1067 usb_sndbulkpipe(port->serial->dev,
1068 port->bulk_out_endpointAddress),
1069 port->write_urb->transfer_buffer, 1,
1070 read_rxcmd_callback, port);
1071 result = usb_submit_urb(port->write_urb, GFP_KERNEL);
1074 iuu_close(port);
1083 static int iuu_vcc_set(struct usb_serial_port *port, unsigned int vcc)
1098 status = bulk_immediate(port, buf, 5);
1102 dev_dbg(&port->dev, "%s - vcc error status = %2x\n", __func__, status);
1104 dev_dbg(&port->dev, "%s - vcc OK !\n", __func__);
1116 struct usb_serial_port *port = to_usb_serial_port(dev);
1117 struct iuu_private *priv = usb_get_serial_port_data(port);
1125 struct usb_serial_port *port = to_usb_serial_port(dev);
1126 struct iuu_private *priv = usb_get_serial_port_data(port);
1140 iuu_vcc_set(port, v);
1148 static int iuu_create_sysfs_attrs(struct usb_serial_port *port)
1150 return device_create_file(&port->dev, &dev_attr_vcc_mode);
1153 static int iuu_remove_sysfs_attrs(struct usb_serial_port *port)
1155 device_remove_file(&port->dev, &dev_attr_vcc_mode);