From: Mauro Carvalho Chehab <mchehab+hua...@kernel.org>

Now that the xr_serial got support for other models, add their USB IDs
as well.

The Maxlinear/Exar USB UARTs can be used in either ACM mode using the
cdc-acm driver or in "custom driver" mode in which further features such
as hardware and software flow control, GPIO control and in-band
line-status reporting are available.

In ACM mode the device always enables RTS/CTS flow control, something
which could prevent transmission in case the CTS input isn't wired up
correctly.

Ensure that cdc_acm will not bind to these devices if the custom
USB-serial driver is enabled.

Signed-off-by: Mauro Carvalho Chehab <mchehab+hua...@kernel.org>
Link: 
https://lore.kernel.org/r/5155887a764cbc11f8da0217fe08a24a77d120b4.1616571453.git.mchehab+hua...@kernel.org
[ johan: rewrite commit message, clean up entries ]
Cc: Oliver Neukum <oneu...@suse.com>
Signed-off-by: Johan Hovold <jo...@kernel.org>
---
 drivers/usb/class/cdc-acm.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index 337ffced9c40..434539b13a70 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -1903,9 +1903,17 @@ static const struct usb_device_id acm_ids[] = {
 #endif
 
 #if IS_ENABLED(CONFIG_USB_SERIAL_XR)
-       { USB_DEVICE(0x04e2, 0x1410),   /* Ignore XR21V141X USB to Serial 
converter */
-       .driver_info = IGNORE_DEVICE,
-       },
+       { USB_DEVICE(0x04e2, 0x1400), .driver_info = IGNORE_DEVICE },
+       { USB_DEVICE(0x04e2, 0x1401), .driver_info = IGNORE_DEVICE },
+       { USB_DEVICE(0x04e2, 0x1402), .driver_info = IGNORE_DEVICE },
+       { USB_DEVICE(0x04e2, 0x1403), .driver_info = IGNORE_DEVICE },
+       { USB_DEVICE(0x04e2, 0x1410), .driver_info = IGNORE_DEVICE },
+       { USB_DEVICE(0x04e2, 0x1411), .driver_info = IGNORE_DEVICE },
+       { USB_DEVICE(0x04e2, 0x1412), .driver_info = IGNORE_DEVICE },
+       { USB_DEVICE(0x04e2, 0x1414), .driver_info = IGNORE_DEVICE },
+       { USB_DEVICE(0x04e2, 0x1420), .driver_info = IGNORE_DEVICE },
+       { USB_DEVICE(0x04e2, 0x1422), .driver_info = IGNORE_DEVICE },
+       { USB_DEVICE(0x04e2, 0x1424), .driver_info = IGNORE_DEVICE },
 #endif
 
        /*Samsung phone in firmware update mode */
-- 
2.26.3

Reply via email to