Commit 3bfb8239 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'usb-serial-5.10-rc1' of...

Merge tag 'usb-serial-5.10-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-next

Johan writes:

USB-serial updates for 5.10-rc1

Here are the USB-serial updates for 5.10-rc1, including:

 - new device ids
 - various clean ups

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

* tag 'usb-serial-5.10-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial:
  USB: serial: option: add Cellient MPL200 card
  USB: serial: ftdi_sio: use cur_altsetting for consistency
  USB: serial: option: Add Telit FT980-KS composition
  USB: serial: qcserial: fix altsetting probing
  USB: serial: ftdi_sio: clean up jtag quirks
  USB: serial: pl2303: add device-id for HP GC device
  USB: serial: ftdi_sio: add support for FreeCalypso JTAG+UART adapters
parents afb487a3 3e765cab
Loading
Loading
Loading
Loading
+20 −17
Original line number Diff line number Diff line
@@ -1037,6 +1037,11 @@ static const struct usb_device_id id_table_combined[] = {
	/* U-Blox devices */
	{ USB_DEVICE(UBLOX_VID, UBLOX_C099F9P_ZED_PID) },
	{ USB_DEVICE(UBLOX_VID, UBLOX_C099F9P_ODIN_PID) },
	/* FreeCalypso USB adapters */
	{ USB_DEVICE(FTDI_VID, FTDI_FALCONIA_JTAG_BUF_PID),
		.driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
	{ USB_DEVICE(FTDI_VID, FTDI_FALCONIA_JTAG_UNBUF_PID),
		.driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
	{ }					/* Terminating entry */
};

@@ -1566,7 +1571,8 @@ static void ftdi_determine_type(struct usb_serial_port *port)
	dev_dbg(&port->dev, "%s: bcdDevice = 0x%x, bNumInterfaces = %u\n", __func__,
		version, interfaces);
	if (interfaces > 1) {
		int inter;
		struct usb_interface *intf = serial->interface;
		int ifnum = intf->cur_altsetting->desc.bInterfaceNumber;

		/* Multiple interfaces.*/
		if (version == 0x0800) {
@@ -1581,16 +1587,15 @@ static void ftdi_determine_type(struct usb_serial_port *port)
			priv->chip_type = FT2232C;

		/* Determine interface code. */
		inter = serial->interface->altsetting->desc.bInterfaceNumber;
		if (inter == 0) {
		if (ifnum == 0)
			priv->interface = INTERFACE_A;
		} else  if (inter == 1) {
		else if (ifnum == 1)
			priv->interface = INTERFACE_B;
		} else  if (inter == 2) {
		else if (ifnum == 2)
			priv->interface = INTERFACE_C;
		} else  if (inter == 3) {
		else if (ifnum == 3)
			priv->interface = INTERFACE_D;
		}

		/* BM-type devices have a bug where bcdDevice gets set
		 * to 0x200 when iSerialNumber is 0.  */
		if (version < 0x500) {
@@ -2330,12 +2335,11 @@ static int ftdi_NDI_device_setup(struct usb_serial *serial)
 */
static int ftdi_jtag_probe(struct usb_serial *serial)
{
	struct usb_device *udev = serial->dev;
	struct usb_interface *interface = serial->interface;
	struct usb_interface *intf = serial->interface;
	int ifnum = intf->cur_altsetting->desc.bInterfaceNumber;

	if (interface == udev->actconfig->interface[0]) {
		dev_info(&udev->dev,
			 "Ignoring serial port reserved for JTAG\n");
	if (ifnum == 0) {
		dev_info(&intf->dev, "Ignoring interface reserved for JTAG\n");
		return -ENODEV;
	}

@@ -2367,12 +2371,11 @@ static int ftdi_8u2232c_probe(struct usb_serial *serial)
 */
static int ftdi_stmclite_probe(struct usb_serial *serial)
{
	struct usb_device *udev = serial->dev;
	struct usb_interface *interface = serial->interface;
	struct usb_interface *intf = serial->interface;
	int ifnum = intf->cur_altsetting->desc.bInterfaceNumber;

	if (interface == udev->actconfig->interface[0] ||
	    interface == udev->actconfig->interface[1]) {
		dev_info(&udev->dev, "Ignoring serial port reserved for JTAG\n");
	if (ifnum < 2) {
		dev_info(&intf->dev, "Ignoring interface reserved for JTAG\n");
		return -ENODEV;
	}

+7 −0
Original line number Diff line number Diff line
@@ -39,6 +39,13 @@

#define FTDI_LUMEL_PD12_PID	0x6002

/*
 * Custom USB adapters made by Falconia Partners LLC
 * for FreeCalypso project, ID codes allocated to Falconia by FTDI.
 */
#define FTDI_FALCONIA_JTAG_BUF_PID	0x7150
#define FTDI_FALCONIA_JTAG_UNBUF_PID	0x7151

/* Sienna Serial Interface by Secyourit GmbH */
#define FTDI_SIENNA_PID		0x8348

+5 −0
Original line number Diff line number Diff line
@@ -528,6 +528,7 @@ static void option_instat_callback(struct urb *urb);
/* Cellient products */
#define CELLIENT_VENDOR_ID			0x2692
#define CELLIENT_PRODUCT_MEN200			0x9005
#define CELLIENT_PRODUCT_MPL200			0x9025

/* Hyundai Petatel Inc. products */
#define PETATEL_VENDOR_ID			0x1ff4
@@ -1186,6 +1187,8 @@ static const struct usb_device_id option_ids[] = {
	  .driver_info = NCTRL(2) | RSVD(3) },
	{ USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1053, 0xff),	/* Telit FN980 (ECM) */
	  .driver_info = NCTRL(0) | RSVD(1) },
	{ USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1054, 0xff),	/* Telit FT980-KS */
	  .driver_info = NCTRL(2) | RSVD(3) },
	{ USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910),
	  .driver_info = NCTRL(0) | RSVD(1) | RSVD(3) },
	{ USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910_DUAL_MODEM),
@@ -1982,6 +1985,8 @@ static const struct usb_device_id option_ids[] = {
	{ USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x02, 0x01) },
	{ USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x00, 0x00) },
	{ USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) },
	{ USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MPL200),
	  .driver_info = RSVD(1) | RSVD(4) },
	{ USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600A) },
	{ USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600E) },
	{ USB_DEVICE_AND_INTERFACE_INFO(TPLINK_VENDOR_ID, TPLINK_PRODUCT_LTE, 0xff, 0x00, 0x00) },	/* TP-Link LTE Module */
+1 −0
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@ static const struct usb_device_id id_table[] = {
	{ USB_DEVICE(HP_VENDOR_ID, HP_LD220_PRODUCT_ID) },
	{ USB_DEVICE(HP_VENDOR_ID, HP_LD220TA_PRODUCT_ID) },
	{ USB_DEVICE(HP_VENDOR_ID, HP_LD381_PRODUCT_ID) },
	{ USB_DEVICE(HP_VENDOR_ID, HP_LD381GC_PRODUCT_ID) },
	{ USB_DEVICE(HP_VENDOR_ID, HP_LD960_PRODUCT_ID) },
	{ USB_DEVICE(HP_VENDOR_ID, HP_LD960TA_PRODUCT_ID) },
	{ USB_DEVICE(HP_VENDOR_ID, HP_LCM220_PRODUCT_ID) },
+1 −0
Original line number Diff line number Diff line
@@ -127,6 +127,7 @@

/* Hewlett-Packard POS Pole Displays */
#define HP_VENDOR_ID		0x03f0
#define HP_LD381GC_PRODUCT_ID	0x0183
#define HP_LM920_PRODUCT_ID	0x026b
#define HP_TD620_PRODUCT_ID	0x0956
#define HP_LD960_PRODUCT_ID	0x0b39
Loading