Lines Matching refs:serial
616 static u8 cp210x_interface_num(struct usb_serial *serial) in cp210x_interface_num() argument
620 cur_altsetting = serial->interface->cur_altsetting; in cp210x_interface_num()
632 struct usb_serial *serial = port->serial; in cp210x_read_reg_block() local
641 result = usb_control_msg(serial->dev, usb_rcvctrlpipe(serial->dev, 0), in cp210x_read_reg_block()
672 static int cp210x_read_vendor_block(struct usb_serial *serial, u8 type, u16 val, in cp210x_read_vendor_block() argument
682 result = usb_control_msg(serial->dev, usb_rcvctrlpipe(serial->dev, 0), in cp210x_read_vendor_block()
684 cp210x_interface_num(serial), dmabuf, bufsize, in cp210x_read_vendor_block()
690 dev_err(&serial->interface->dev, in cp210x_read_vendor_block()
708 struct usb_serial *serial = port->serial; in cp210x_write_u16_reg() local
712 result = usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0), in cp210x_write_u16_reg()
731 struct usb_serial *serial = port->serial; in cp210x_write_reg_block() local
740 result = usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0), in cp210x_write_reg_block()
773 static int cp210x_write_vendor_block(struct usb_serial *serial, u8 type, in cp210x_write_vendor_block() argument
783 result = usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0), in cp210x_write_vendor_block()
785 cp210x_interface_num(serial), dmabuf, bufsize, in cp210x_write_vendor_block()
791 dev_err(&serial->interface->dev, in cp210x_write_vendor_block()
953 struct usb_serial *serial = port->serial; in cp210x_get_tx_queue_byte_count() local
962 result = usb_control_msg(serial->dev, usb_rcvctrlpipe(serial->dev, 0), in cp210x_get_tx_queue_byte_count()
1087 struct usb_serial *serial = port->serial; in cp210x_change_speed() local
1088 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp210x_change_speed()
1118 struct cp210x_serial_private *priv = usb_get_serial_data(port->serial); in cp210x_enable_event_mode()
1169 struct cp210x_serial_private *priv = usb_get_serial_data(port->serial); in cp210x_set_flow_control()
1279 struct cp210x_serial_private *priv = usb_get_serial_data(port->serial); in cp210x_set_termios()
1478 struct usb_serial *serial = gpiochip_get_data(gc); in cp210x_gpio_get() local
1479 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp210x_gpio_get()
1485 result = usb_autopm_get_interface(serial->interface); in cp210x_gpio_get()
1505 result = cp210x_read_vendor_block(serial, req_type, CP210X_READ_LATCH, in cp210x_gpio_get()
1508 usb_autopm_put_interface(serial->interface); in cp210x_gpio_get()
1520 struct usb_serial *serial = gpiochip_get_data(gc); in cp210x_gpio_set() local
1521 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp210x_gpio_set()
1535 result = usb_autopm_get_interface(serial->interface); in cp210x_gpio_set()
1543 result = cp210x_write_vendor_block(serial, in cp210x_gpio_set()
1551 result = cp210x_write_vendor_block(serial, in cp210x_gpio_set()
1558 result = usb_control_msg(serial->dev, in cp210x_gpio_set()
1559 usb_sndctrlpipe(serial->dev, 0), in cp210x_gpio_set()
1568 usb_autopm_put_interface(serial->interface); in cp210x_gpio_set()
1571 dev_err(&serial->interface->dev, "failed to set GPIO value: %d\n", in cp210x_gpio_set()
1578 struct usb_serial *serial = gpiochip_get_data(gc); in cp210x_gpio_direction_get() local
1579 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp210x_gpio_direction_get()
1586 struct usb_serial *serial = gpiochip_get_data(gc); in cp210x_gpio_direction_input() local
1587 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp210x_gpio_direction_input()
1609 struct usb_serial *serial = gpiochip_get_data(gc); in cp210x_gpio_direction_output() local
1610 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp210x_gpio_direction_output()
1621 struct usb_serial *serial = gpiochip_get_data(gc); in cp210x_gpio_set_config() local
1622 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp210x_gpio_set_config()
1640 struct usb_serial *serial = gpiochip_get_data(gc); in cp210x_gpio_init_valid_mask() local
1641 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp210x_gpio_init_valid_mask()
1642 struct device *dev = &serial->interface->dev; in cp210x_gpio_init_valid_mask()
1662 static int cp2105_gpioconf_init(struct usb_serial *serial) in cp2105_gpioconf_init() argument
1664 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp2105_gpioconf_init()
1667 u8 intf_num = cp210x_interface_num(serial); in cp2105_gpioconf_init()
1671 result = cp210x_read_vendor_block(serial, REQTYPE_DEVICE_TO_HOST, in cp2105_gpioconf_init()
1677 result = cp210x_read_vendor_block(serial, REQTYPE_DEVICE_TO_HOST, in cp2105_gpioconf_init()
1725 static int cp2104_gpioconf_init(struct usb_serial *serial) in cp2104_gpioconf_init() argument
1727 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp2104_gpioconf_init()
1734 result = cp210x_read_vendor_block(serial, REQTYPE_DEVICE_TO_HOST, in cp2104_gpioconf_init()
1775 static int cp2108_gpio_init(struct usb_serial *serial) in cp2108_gpio_init() argument
1777 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp2108_gpio_init()
1783 result = cp210x_read_vendor_block(serial, REQTYPE_DEVICE_TO_HOST, in cp2108_gpio_init()
1830 static int cp2102n_gpioconf_init(struct usb_serial *serial) in cp2102n_gpioconf_init() argument
1832 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp2102n_gpioconf_init()
1854 result = cp210x_read_vendor_block(serial, in cp2102n_gpioconf_init()
1934 static int cp210x_gpio_init(struct usb_serial *serial) in cp210x_gpio_init() argument
1936 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp210x_gpio_init()
1941 result = cp2104_gpioconf_init(serial); in cp210x_gpio_init()
1944 result = cp2105_gpioconf_init(serial); in cp210x_gpio_init()
1951 if (cp210x_interface_num(serial) != 0) in cp210x_gpio_init()
1953 result = cp2108_gpio_init(serial); in cp210x_gpio_init()
1958 result = cp2102n_gpioconf_init(serial); in cp210x_gpio_init()
1976 priv->gc.parent = &serial->interface->dev; in cp210x_gpio_init()
1980 result = gpiochip_add_data(&priv->gc, serial); in cp210x_gpio_init()
1987 static void cp210x_gpio_remove(struct usb_serial *serial) in cp210x_gpio_remove() argument
1989 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp210x_gpio_remove()
1999 static int cp210x_gpio_init(struct usb_serial *serial) in cp210x_gpio_init() argument
2004 static void cp210x_gpio_remove(struct usb_serial *serial) in cp210x_gpio_remove() argument
2013 struct usb_serial *serial = port->serial; in cp210x_port_probe() local
2020 port_priv->bInterfaceNumber = cp210x_interface_num(serial); in cp210x_port_probe()
2036 static void cp210x_init_max_speed(struct usb_serial *serial) in cp210x_init_max_speed() argument
2038 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp210x_init_max_speed()
2059 if (cp210x_interface_num(serial) == 0) { in cp210x_init_max_speed()
2083 static void cp2102_determine_quirks(struct usb_serial *serial) in cp2102_determine_quirks() argument
2085 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp2102_determine_quirks()
2098 ret = usb_control_msg(serial->dev, usb_rcvctrlpipe(serial->dev, 0), in cp2102_determine_quirks()
2102 dev_dbg(&serial->interface->dev, in cp2102_determine_quirks()
2110 static int cp210x_get_fw_version(struct usb_serial *serial, u16 value) in cp210x_get_fw_version() argument
2112 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp210x_get_fw_version()
2116 ret = cp210x_read_vendor_block(serial, REQTYPE_DEVICE_TO_HOST, value, in cp210x_get_fw_version()
2121 dev_dbg(&serial->interface->dev, "%s - %d.%d.%d\n", __func__, in cp210x_get_fw_version()
2129 static void cp210x_determine_type(struct usb_serial *serial) in cp210x_determine_type() argument
2131 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp210x_determine_type()
2134 ret = cp210x_read_vendor_block(serial, REQTYPE_DEVICE_TO_HOST, in cp210x_determine_type()
2138 dev_warn(&serial->interface->dev, in cp210x_determine_type()
2144 dev_dbg(&serial->interface->dev, "partnum = 0x%02x\n", priv->partnum); in cp210x_determine_type()
2148 cp2102_determine_quirks(serial); in cp210x_determine_type()
2152 cp210x_get_fw_version(serial, CP210X_GET_FW_VER); in cp210x_determine_type()
2157 ret = cp210x_get_fw_version(serial, CP210X_GET_FW_VER_2N); in cp210x_determine_type()
2168 static int cp210x_attach(struct usb_serial *serial) in cp210x_attach() argument
2177 usb_set_serial_data(serial, priv); in cp210x_attach()
2179 cp210x_determine_type(serial); in cp210x_attach()
2180 cp210x_init_max_speed(serial); in cp210x_attach()
2182 result = cp210x_gpio_init(serial); in cp210x_attach()
2184 dev_err(&serial->interface->dev, "GPIO initialisation failed: %d\n", in cp210x_attach()
2191 static void cp210x_disconnect(struct usb_serial *serial) in cp210x_disconnect() argument
2193 cp210x_gpio_remove(serial); in cp210x_disconnect()
2196 static void cp210x_release(struct usb_serial *serial) in cp210x_release() argument
2198 struct cp210x_serial_private *priv = usb_get_serial_data(serial); in cp210x_release()
2200 cp210x_gpio_remove(serial); in cp210x_release()