Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'usb-serial-5.16-rc6' of https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus

Johan writes:

USB-serial fixes for 5.16-rc6

Here's a fix for a reported problem in the cp210x gpio-registration code
and some more modem device ids.

All have been in linux-next with no reported issues.

* tag 'usb-serial-5.16-rc6' of https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial:
USB: serial: option: add Telit FN990 compositions
USB: serial: cp210x: fix CP2105 GPIO registration

+12 -2
+4 -2
drivers/usb/serial/cp210x.c
··· 1635 1635 1636 1636 /* 2 banks of GPIO - One for the pins taken from each serial port */ 1637 1637 if (intf_num == 0) { 1638 + priv->gc.ngpio = 2; 1639 + 1638 1640 if (mode.eci == CP210X_PIN_MODE_MODEM) { 1639 1641 /* mark all GPIOs of this interface as reserved */ 1640 1642 priv->gpio_altfunc = 0xff; ··· 1647 1645 priv->gpio_pushpull = (u8)((le16_to_cpu(config.gpio_mode) & 1648 1646 CP210X_ECI_GPIO_MODE_MASK) >> 1649 1647 CP210X_ECI_GPIO_MODE_OFFSET); 1650 - priv->gc.ngpio = 2; 1651 1648 } else if (intf_num == 1) { 1649 + priv->gc.ngpio = 3; 1650 + 1652 1651 if (mode.sci == CP210X_PIN_MODE_MODEM) { 1653 1652 /* mark all GPIOs of this interface as reserved */ 1654 1653 priv->gpio_altfunc = 0xff; ··· 1660 1657 priv->gpio_pushpull = (u8)((le16_to_cpu(config.gpio_mode) & 1661 1658 CP210X_SCI_GPIO_MODE_MASK) >> 1662 1659 CP210X_SCI_GPIO_MODE_OFFSET); 1663 - priv->gc.ngpio = 3; 1664 1660 } else { 1665 1661 return -ENODEV; 1666 1662 }
+8
drivers/usb/serial/option.c
··· 1219 1219 .driver_info = NCTRL(2) | RSVD(3) }, 1220 1220 { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1063, 0xff), /* Telit LN920 (ECM) */ 1221 1221 .driver_info = NCTRL(0) | RSVD(1) }, 1222 + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1070, 0xff), /* Telit FN990 (rmnet) */ 1223 + .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, 1224 + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1071, 0xff), /* Telit FN990 (MBIM) */ 1225 + .driver_info = NCTRL(0) | RSVD(1) }, 1226 + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1072, 0xff), /* Telit FN990 (RNDIS) */ 1227 + .driver_info = NCTRL(2) | RSVD(3) }, 1228 + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1073, 0xff), /* Telit FN990 (ECM) */ 1229 + .driver_info = NCTRL(0) | RSVD(1) }, 1222 1230 { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910), 1223 1231 .driver_info = NCTRL(0) | RSVD(1) | RSVD(3) }, 1224 1232 { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910_DUAL_MODEM),