Lines Matching refs:port

51 static int iuu_create_sysfs_attrs(struct usb_serial_port *port);
52 static int iuu_remove_sysfs_attrs(struct usb_serial_port *port);
71 static int iuu_port_probe(struct usb_serial_port *port) in iuu_port_probe() argument
96 usb_set_serial_port_data(port, priv); in iuu_port_probe()
98 ret = iuu_create_sysfs_attrs(port); in iuu_port_probe()
109 static int iuu_port_remove(struct usb_serial_port *port) in iuu_port_remove() argument
111 struct iuu_private *priv = usb_get_serial_port_data(port); in iuu_port_remove()
113 iuu_remove_sysfs_attrs(port); in iuu_port_remove()
124 struct usb_serial_port *port = tty->driver_data; in iuu_tiocmset() local
125 struct iuu_private *priv = usb_get_serial_port_data(port); in iuu_tiocmset()
129 dev_dbg(&port->dev, "%s msg : SET = 0x%04x, CLEAR = 0x%04x\n", in iuu_tiocmset()
135 dev_dbg(&port->dev, "%s TIOCMSET RESET called !!!\n", __func__); in iuu_tiocmset()
152 struct usb_serial_port *port = tty->driver_data; in iuu_tiocmget() local
153 struct iuu_private *priv = usb_get_serial_port_data(port); in iuu_tiocmget()
166 struct usb_serial_port *port = urb->context; in iuu_rxcmd() local
171 dev_dbg(&port->dev, "%s - status = %d\n", __func__, status); in iuu_rxcmd()
177 memset(port->write_urb->transfer_buffer, IUU_UART_RX, 1); in iuu_rxcmd()
178 usb_fill_bulk_urb(port->write_urb, port->serial->dev, in iuu_rxcmd()
179 usb_sndbulkpipe(port->serial->dev, in iuu_rxcmd()
180 port->bulk_out_endpointAddress), in iuu_rxcmd()
181 port->write_urb->transfer_buffer, 1, in iuu_rxcmd()
182 read_rxcmd_callback, port); in iuu_rxcmd()
183 result = usb_submit_urb(port->write_urb, GFP_ATOMIC); in iuu_rxcmd()
186 static int iuu_reset(struct usb_serial_port *port, u8 wt) in iuu_reset() argument
188 struct iuu_private *priv = usb_get_serial_port_data(port); in iuu_reset()
190 char *buf_ptr = port->write_urb->transfer_buffer; in iuu_reset()
201 usb_fill_bulk_urb(port->write_urb, in iuu_reset()
202 port->serial->dev, in iuu_reset()
203 usb_sndbulkpipe(port->serial->dev, in iuu_reset()
204 port->bulk_out_endpointAddress), in iuu_reset()
205 port->write_urb->transfer_buffer, 4, iuu_rxcmd, port); in iuu_reset()
206 result = usb_submit_urb(port->write_urb, GFP_ATOMIC); in iuu_reset()
219 struct usb_serial_port *port = urb->context; in iuu_update_status_callback() local
220 struct iuu_private *priv = usb_get_serial_port_data(port); in iuu_update_status_callback()
225 dev_dbg(&port->dev, "%s - status = %d\n", __func__, status); in iuu_update_status_callback()
231 dev_dbg(&port->dev, "%s - enter\n", __func__); in iuu_update_status_callback()
249 struct usb_serial_port *port = urb->context; in iuu_status_callback() local
253 dev_dbg(&port->dev, "%s - status = %d\n", __func__, status); in iuu_status_callback()
254 usb_fill_bulk_urb(port->read_urb, port->serial->dev, in iuu_status_callback()
255 usb_rcvbulkpipe(port->serial->dev, in iuu_status_callback()
256 port->bulk_in_endpointAddress), in iuu_status_callback()
257 port->read_urb->transfer_buffer, 256, in iuu_status_callback()
258 iuu_update_status_callback, port); in iuu_status_callback()
259 result = usb_submit_urb(port->read_urb, GFP_ATOMIC); in iuu_status_callback()
262 static int iuu_status(struct usb_serial_port *port) in iuu_status() argument
266 memset(port->write_urb->transfer_buffer, IUU_GET_STATE_REGISTER, 1); in iuu_status()
267 usb_fill_bulk_urb(port->write_urb, port->serial->dev, in iuu_status()
268 usb_sndbulkpipe(port->serial->dev, in iuu_status()
269 port->bulk_out_endpointAddress), in iuu_status()
270 port->write_urb->transfer_buffer, 1, in iuu_status()
271 iuu_status_callback, port); in iuu_status()
272 result = usb_submit_urb(port->write_urb, GFP_ATOMIC); in iuu_status()
277 static int bulk_immediate(struct usb_serial_port *port, u8 *buf, u8 count) in bulk_immediate() argument
280 struct usb_serial *serial = port->serial; in bulk_immediate()
288 port->bulk_out_endpointAddress), buf, in bulk_immediate()
292 dev_dbg(&port->dev, "%s - error = %2x\n", __func__, status); in bulk_immediate()
294 dev_dbg(&port->dev, "%s - write OK !\n", __func__); in bulk_immediate()
298 static int read_immediate(struct usb_serial_port *port, u8 *buf, u8 count) in read_immediate() argument
301 struct usb_serial *serial = port->serial; in read_immediate()
308 port->bulk_in_endpointAddress), buf, in read_immediate()
312 dev_dbg(&port->dev, "%s - error = %2x\n", __func__, status); in read_immediate()
314 dev_dbg(&port->dev, "%s - read OK !\n", __func__); in read_immediate()
318 static int iuu_led(struct usb_serial_port *port, unsigned int R, in iuu_led() argument
335 status = bulk_immediate(port, buf, 8); in iuu_led()
338 dev_dbg(&port->dev, "%s - led error status = %2x\n", __func__, status); in iuu_led()
340 dev_dbg(&port->dev, "%s - led OK !\n", __func__); in iuu_led()
359 struct usb_serial_port *port = urb->context; in iuu_led_activity_on() local
361 char *buf_ptr = port->write_urb->transfer_buffer; in iuu_led_activity_on()
370 usb_fill_bulk_urb(port->write_urb, port->serial->dev, in iuu_led_activity_on()
371 usb_sndbulkpipe(port->serial->dev, in iuu_led_activity_on()
372 port->bulk_out_endpointAddress), in iuu_led_activity_on()
373 port->write_urb->transfer_buffer, 8 , in iuu_led_activity_on()
374 iuu_rxcmd, port); in iuu_led_activity_on()
375 result = usb_submit_urb(port->write_urb, GFP_ATOMIC); in iuu_led_activity_on()
380 struct usb_serial_port *port = urb->context; in iuu_led_activity_off() local
382 char *buf_ptr = port->write_urb->transfer_buffer; in iuu_led_activity_off()
390 usb_fill_bulk_urb(port->write_urb, port->serial->dev, in iuu_led_activity_off()
391 usb_sndbulkpipe(port->serial->dev, in iuu_led_activity_off()
392 port->bulk_out_endpointAddress), in iuu_led_activity_off()
393 port->write_urb->transfer_buffer, 8 , in iuu_led_activity_off()
394 iuu_rxcmd, port); in iuu_led_activity_off()
395 result = usb_submit_urb(port->write_urb, GFP_ATOMIC); in iuu_led_activity_off()
400 static int iuu_clk(struct usb_serial_port *port, int dwFrq) in iuu_clk() argument
403 struct iuu_private *priv = usb_get_serial_port_data(port); in iuu_clk()
424 status = bulk_immediate(port, (u8 *) priv->buf, Count); in iuu_clk()
426 dev_dbg(&port->dev, "%s - write error\n", __func__); in iuu_clk()
533 status = bulk_immediate(port, (u8 *) priv->buf, Count); in iuu_clk()
535 dev_dbg(&port->dev, "%s - write error\n", __func__); in iuu_clk()
539 static int iuu_uart_flush(struct usb_serial_port *port) in iuu_uart_flush() argument
541 struct device *dev = &port->dev; in iuu_uart_flush()
545 struct iuu_private *priv = usb_get_serial_port_data(port); in iuu_uart_flush()
547 if (iuu_led(port, 0xF000, 0, 0, 0xFF) < 0) in iuu_uart_flush()
551 status = bulk_immediate(port, &rxcmd, 1); in iuu_uart_flush()
557 status = read_immediate(port, &priv->len, 1); in iuu_uart_flush()
565 status = read_immediate(port, priv->buf, priv->len); in iuu_uart_flush()
573 iuu_led(port, 0, 0xF000, 0, 0xFF); in iuu_uart_flush()
579 struct usb_serial_port *port = urb->context; in read_buf_callback() local
590 dev_dbg(&port->dev, "%s - %i chars to write\n", __func__, urb->actual_length); in read_buf_callback()
592 dev_dbg(&port->dev, "%s - data is NULL !!!\n", __func__); in read_buf_callback()
594 tty_insert_flip_string(&port->port, data, urb->actual_length); in read_buf_callback()
595 tty_flip_buffer_push(&port->port); in read_buf_callback()
600 static int iuu_bulk_write(struct usb_serial_port *port) in iuu_bulk_write() argument
602 struct iuu_private *priv = usb_get_serial_port_data(port); in iuu_bulk_write()
606 char *buf_ptr = port->write_urb->transfer_buffer; in iuu_bulk_write()
617 dev_dbg(&port->dev, "%s - writing %i chars : %*ph\n", __func__, in iuu_bulk_write()
619 usb_fill_bulk_urb(port->write_urb, port->serial->dev, in iuu_bulk_write()
620 usb_sndbulkpipe(port->serial->dev, in iuu_bulk_write()
621 port->bulk_out_endpointAddress), in iuu_bulk_write()
622 port->write_urb->transfer_buffer, buf_len + 3, in iuu_bulk_write()
623 iuu_rxcmd, port); in iuu_bulk_write()
624 result = usb_submit_urb(port->write_urb, GFP_ATOMIC); in iuu_bulk_write()
625 usb_serial_port_softint(port); in iuu_bulk_write()
629 static int iuu_read_buf(struct usb_serial_port *port, int len) in iuu_read_buf() argument
633 usb_fill_bulk_urb(port->read_urb, port->serial->dev, in iuu_read_buf()
634 usb_rcvbulkpipe(port->serial->dev, in iuu_read_buf()
635 port->bulk_in_endpointAddress), in iuu_read_buf()
636 port->read_urb->transfer_buffer, len, in iuu_read_buf()
637 read_buf_callback, port); in iuu_read_buf()
638 result = usb_submit_urb(port->read_urb, GFP_ATOMIC); in iuu_read_buf()
644 struct usb_serial_port *port = urb->context; in iuu_uart_read_callback() local
645 struct iuu_private *priv = usb_get_serial_port_data(port); in iuu_uart_read_callback()
654 dev_dbg(&port->dev, "%s - status = %d\n", __func__, status); in iuu_uart_read_callback()
659 dev_dbg(&port->dev, "%s - data is NULL !!!\n", __func__); in iuu_uart_read_callback()
665 dev_dbg(&port->dev, "%s - urb->actual_length = %i\n", __func__, in iuu_uart_read_callback()
673 dev_dbg(&port->dev, "%s - call read buf - len to read is %i\n", in iuu_uart_read_callback()
675 status = iuu_read_buf(port, len); in iuu_uart_read_callback()
680 status = iuu_status(port); in iuu_uart_read_callback()
688 status = iuu_reset(port, 0xC); in iuu_uart_read_callback()
695 status = iuu_bulk_write(port); in iuu_uart_read_callback()
700 dev_dbg(&port->dev, "%s - rxcmd recall\n", __func__); in iuu_uart_read_callback()
704 static int iuu_uart_write(struct tty_struct *tty, struct usb_serial_port *port, in iuu_uart_write() argument
707 struct iuu_private *priv = usb_get_serial_port_data(port); in iuu_uart_write()
725 struct usb_serial_port *port = urb->context; in read_rxcmd_callback() local
734 usb_fill_bulk_urb(port->read_urb, port->serial->dev, in read_rxcmd_callback()
735 usb_rcvbulkpipe(port->serial->dev, in read_rxcmd_callback()
736 port->bulk_in_endpointAddress), in read_rxcmd_callback()
737 port->read_urb->transfer_buffer, 256, in read_rxcmd_callback()
738 iuu_uart_read_callback, port); in read_rxcmd_callback()
739 result = usb_submit_urb(port->read_urb, GFP_ATOMIC); in read_rxcmd_callback()
740 dev_dbg(&port->dev, "%s - submit result = %d\n", __func__, result); in read_rxcmd_callback()
743 static int iuu_uart_on(struct usb_serial_port *port) in iuu_uart_on() argument
758 status = bulk_immediate(port, buf, 4); in iuu_uart_on()
760 dev_dbg(&port->dev, "%s - uart_on error\n", __func__); in iuu_uart_on()
764 status = iuu_uart_flush(port); in iuu_uart_on()
766 dev_dbg(&port->dev, "%s - uart_flush error\n", __func__); in iuu_uart_on()
773 static int iuu_uart_off(struct usb_serial_port *port) in iuu_uart_off() argument
782 status = bulk_immediate(port, buf, 1); in iuu_uart_off()
784 dev_dbg(&port->dev, "%s - uart_off error\n", __func__); in iuu_uart_off()
790 static int iuu_uart_baud(struct usb_serial_port *port, u32 baud_base, in iuu_uart_baud() argument
801 dev_dbg(&port->dev, "%s - enter baud_base=%d\n", __func__, baud_base); in iuu_uart_baud()
880 status = bulk_immediate(port, dataout, DataCount); in iuu_uart_baud()
882 dev_dbg(&port->dev, "%s - uart_off error\n", __func__); in iuu_uart_baud()
888 struct usb_serial_port *port, struct ktermios *old_termios) in iuu_set_termios() argument
891 struct iuu_private *priv = usb_get_serial_port_data(port); in iuu_set_termios()
903 dev_dbg(&port->dev, "%s - enter c_ospeed or baud=%d\n", __func__, baud); in iuu_set_termios()
923 status = iuu_uart_baud(port, in iuu_set_termios()
941 static void iuu_close(struct usb_serial_port *port) in iuu_close() argument
945 iuu_uart_off(port); in iuu_close()
947 usb_kill_urb(port->write_urb); in iuu_close()
948 usb_kill_urb(port->read_urb); in iuu_close()
950 iuu_led(port, 0, 0, 0xF000, 0xFF); in iuu_close()
965 static int iuu_open(struct tty_struct *tty, struct usb_serial_port *port) in iuu_open() argument
967 struct usb_serial *serial = port->serial; in iuu_open()
968 struct device *dev = &port->dev; in iuu_open()
973 struct iuu_private *priv = usb_get_serial_port_data(port); in iuu_open()
981 usb_clear_halt(serial->dev, port->write_urb->pipe); in iuu_open()
982 usb_clear_halt(serial->dev, port->read_urb->pipe); in iuu_open()
992 result = usb_control_msg(port->serial->dev, \ in iuu_open()
993 usb_rcvctrlpipe(port->serial->dev, 0), \ in iuu_open()
999 result = usb_control_msg(port->serial->dev, \ in iuu_open()
1000 usb_sndctrlpipe(port->serial->dev, 0), \ in iuu_open()
1011 iuu_led(port, 0xF000, 0xF000, 0, 0xFF); in iuu_open()
1012 iuu_uart_on(port); in iuu_open()
1020 iuu_clk(port, IUU_CLK_3680000 * boost / 100); in iuu_open()
1022 iuu_uart_baud(port, baud * boost / 100, &actual, in iuu_open()
1026 iuu_clk(port, IUU_CLK_6000000 * boost / 100); in iuu_open()
1030 iuu_uart_baud(port, 16457 * boost / 100, &actual, in iuu_open()
1034 iuu_clk(port, IUU_CLK_3579000 * boost / 100); in iuu_open()
1037 iuu_uart_baud(port, baud * boost / 100, &actual, in iuu_open()
1080 iuu_uart_flush(port); in iuu_open()
1084 memset(port->write_urb->transfer_buffer, IUU_UART_RX, 1); in iuu_open()
1085 usb_fill_bulk_urb(port->write_urb, port->serial->dev, in iuu_open()
1086 usb_sndbulkpipe(port->serial->dev, in iuu_open()
1087 port->bulk_out_endpointAddress), in iuu_open()
1088 port->write_urb->transfer_buffer, 1, in iuu_open()
1089 read_rxcmd_callback, port); in iuu_open()
1090 result = usb_submit_urb(port->write_urb, GFP_KERNEL); in iuu_open()
1093 iuu_close(port); in iuu_open()
1102 static int iuu_vcc_set(struct usb_serial_port *port, unsigned int vcc) in iuu_vcc_set() argument
1117 status = bulk_immediate(port, buf, 5); in iuu_vcc_set()
1121 dev_dbg(&port->dev, "%s - vcc error status = %2x\n", __func__, status); in iuu_vcc_set()
1123 dev_dbg(&port->dev, "%s - vcc OK !\n", __func__); in iuu_vcc_set()
1135 struct usb_serial_port *port = to_usb_serial_port(dev); in vcc_mode_show() local
1136 struct iuu_private *priv = usb_get_serial_port_data(port); in vcc_mode_show()
1144 struct usb_serial_port *port = to_usb_serial_port(dev); in vcc_mode_store() local
1145 struct iuu_private *priv = usb_get_serial_port_data(port); in vcc_mode_store()
1159 iuu_vcc_set(port, v); in vcc_mode_store()
1167 static int iuu_create_sysfs_attrs(struct usb_serial_port *port) in iuu_create_sysfs_attrs() argument
1169 return device_create_file(&port->dev, &dev_attr_vcc_mode); in iuu_create_sysfs_attrs()
1172 static int iuu_remove_sysfs_attrs(struct usb_serial_port *port) in iuu_remove_sysfs_attrs() argument
1174 device_remove_file(&port->dev, &dev_attr_vcc_mode); in iuu_remove_sysfs_attrs()