|
@@ -949,6 +949,10 @@ static int acm_probe(struct usb_interface *intf,
|
|
|
|
|
|
/* normal quirks */
|
|
|
quirks = (unsigned long)id->driver_info;
|
|
|
+
|
|
|
+ if (quirks == IGNORE_DEVICE)
|
|
|
+ return -ENODEV;
|
|
|
+
|
|
|
num_rx_buf = (quirks == SINGLE_RX_URB) ? 1 : ACM_NR;
|
|
|
|
|
|
/* handle quirks deadly to normal probing*/
|
|
@@ -1650,6 +1654,15 @@ static const struct usb_device_id acm_ids[] = {
|
|
|
.driver_info = NO_DATA_INTERFACE,
|
|
|
},
|
|
|
|
|
|
+#if IS_ENABLED(CONFIG_INPUT_IMS_PCU)
|
|
|
+ { USB_DEVICE(0x04d8, 0x0082), /* Application mode */
|
|
|
+ .driver_info = IGNORE_DEVICE,
|
|
|
+ },
|
|
|
+ { USB_DEVICE(0x04d8, 0x0083), /* Bootloader mode */
|
|
|
+ .driver_info = IGNORE_DEVICE,
|
|
|
+ },
|
|
|
+#endif
|
|
|
+
|
|
|
/* control interfaces without any protocol set */
|
|
|
{ USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,
|
|
|
USB_CDC_PROTO_NONE) },
|