Skip to content

Commit a0b24a5

Browse files
committed
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
2 parents ca4d834 + 2b503c8 commit a0b24a5

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

drivers/usb/serial/cp210x.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1635,6 +1635,8 @@ static int cp2105_gpioconf_init(struct usb_serial *serial)
16351635

16361636
/* 2 banks of GPIO - One for the pins taken from each serial port */
16371637
if (intf_num == 0) {
1638+
priv->gc.ngpio = 2;
1639+
16381640
if (mode.eci == CP210X_PIN_MODE_MODEM) {
16391641
/* mark all GPIOs of this interface as reserved */
16401642
priv->gpio_altfunc = 0xff;
@@ -1645,8 +1647,9 @@ static int cp2105_gpioconf_init(struct usb_serial *serial)
16451647
priv->gpio_pushpull = (u8)((le16_to_cpu(config.gpio_mode) &
16461648
CP210X_ECI_GPIO_MODE_MASK) >>
16471649
CP210X_ECI_GPIO_MODE_OFFSET);
1648-
priv->gc.ngpio = 2;
16491650
} else if (intf_num == 1) {
1651+
priv->gc.ngpio = 3;
1652+
16501653
if (mode.sci == CP210X_PIN_MODE_MODEM) {
16511654
/* mark all GPIOs of this interface as reserved */
16521655
priv->gpio_altfunc = 0xff;
@@ -1657,7 +1660,6 @@ static int cp2105_gpioconf_init(struct usb_serial *serial)
16571660
priv->gpio_pushpull = (u8)((le16_to_cpu(config.gpio_mode) &
16581661
CP210X_SCI_GPIO_MODE_MASK) >>
16591662
CP210X_SCI_GPIO_MODE_OFFSET);
1660-
priv->gc.ngpio = 3;
16611663
} else {
16621664
return -ENODEV;
16631665
}

drivers/usb/serial/option.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1219,6 +1219,14 @@ static const struct usb_device_id option_ids[] = {
12191219
.driver_info = NCTRL(2) | RSVD(3) },
12201220
{ USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1063, 0xff), /* Telit LN920 (ECM) */
12211221
.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) },
12221230
{ USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910),
12231231
.driver_info = NCTRL(0) | RSVD(1) | RSVD(3) },
12241232
{ USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910_DUAL_MODEM),

0 commit comments

Comments
 (0)