Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e49b2f1b authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "hsic: Add support for 908E product id"

parents f6e990c6 d3aa4367
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -943,6 +943,9 @@ static const struct usb_device_id vidpids[] = {
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9075, 6), /*mux over hsic mdm*/
	.driver_info = (unsigned long)&rmnet_info,
	},
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x908E, 8),
	.driver_info = (unsigned long)&rmnet_info,
	},
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9079, 5),
	.driver_info = (unsigned long)&rmnet_usb_info,
	},
+21 −24
Original line number Diff line number Diff line
@@ -439,17 +439,10 @@ diag_bridge_probe(struct usb_interface *ifc, const struct usb_device_id *id)
	struct usb_host_interface	*ifc_desc;
	struct usb_endpoint_descriptor	*ep_desc;
	int				i, devid, ret = -ENOMEM;
	__u8				ifc_num;

	pr_debug("id:%lu", id->driver_info);

	ifc_num = ifc->cur_altsetting->desc.bInterfaceNumber;

	/* is this interface supported ? */
	if (ifc_num != (id->driver_info & 0xFF))
		return -ENODEV;

	devid = (id->driver_info >> 8) & 0xFF;
	devid = id->driver_info & 0xFF;
	if (devid < 0 || devid >= MAX_DIAG_BRIDGE_DEVS)
		return -ENODEV;

@@ -559,24 +552,28 @@ static int diag_bridge_resume(struct usb_interface *ifc)
	return 0;
}

#define VALID_INTERFACE_NUM	0
#define DEV_ID(n)		((n)<<8)
#define DEV_ID(n)		(n)

static const struct usb_device_id diag_bridge_ids[] = {
	{ USB_DEVICE(0x5c6, 0x9001),
	.driver_info = VALID_INTERFACE_NUM | DEV_ID(0), },
	{ USB_DEVICE(0x5c6, 0x9034),
	.driver_info = VALID_INTERFACE_NUM | DEV_ID(0), },
	{ USB_DEVICE(0x5c6, 0x9048),
	.driver_info = VALID_INTERFACE_NUM | DEV_ID(0), },
	{ USB_DEVICE(0x5c6, 0x904C),
	.driver_info = VALID_INTERFACE_NUM | DEV_ID(0), },
	{ USB_DEVICE(0x5c6, 0x9075),
	.driver_info = VALID_INTERFACE_NUM | DEV_ID(0), },
	{ USB_DEVICE(0x5c6, 0x9079),
	.driver_info = VALID_INTERFACE_NUM | DEV_ID(1), },
	{ USB_DEVICE(0x5c6, 0x908A),
	.driver_info = VALID_INTERFACE_NUM | DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9001, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9034, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9048, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x904C, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9075, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9079, 0),
	.driver_info =  DEV_ID(1), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x908A, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x908E, 0),
	.driver_info =  DEV_ID(0), },
	/* 908E, ifc#1 refers to diag client interface */
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x908E, 1),
	.driver_info =  DEV_ID(1), },

	{} /* terminating entry */
};
+1 −0
Original line number Diff line number Diff line
@@ -678,6 +678,7 @@ static void ipc_bridge_disconnect(struct usb_interface *intf)

static const struct usb_device_id ipc_bridge_ids[] = {
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x908A, 7) },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x908E, 9) },

	{} /* terminating entry */
};
+9 −10
Original line number Diff line number Diff line
@@ -431,17 +431,19 @@ static struct miscdevice ksb_efs_usb_dev = {
	.fops = &efs_fops,
};
static const struct usb_device_id ksb_usb_ids[] = {
	{ USB_DEVICE(0x5c6, 0x9008),
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9008, 0),
	.driver_info = (unsigned long)&ksb_fboot_dev, },
	{ USB_DEVICE(0x5c6, 0x9048),
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9048, 2),
	.driver_info = (unsigned long)&ksb_efs_hsic_dev, },
	{ USB_DEVICE(0x5c6, 0x904C),
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x904C, 2),
	.driver_info = (unsigned long)&ksb_efs_hsic_dev, },
	{ USB_DEVICE(0x5c6, 0x9075),
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9075, 2),
	.driver_info = (unsigned long)&ksb_efs_hsic_dev, },
	{ USB_DEVICE(0x5c6, 0x9079),
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9079, 2),
	.driver_info = (unsigned long)&ksb_efs_usb_dev, },
	{ USB_DEVICE(0x5c6, 0x908A),
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x908A, 2),
	.driver_info = (unsigned long)&ksb_efs_hsic_dev, },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x908E, 3),
	.driver_info = (unsigned long)&ksb_efs_hsic_dev, },

	{} /* terminating entry */
@@ -629,8 +631,6 @@ ksb_usb_probe(struct usb_interface *ifc, const struct usb_device_id *id)

	switch (id->idProduct) {
	case 0x9008:
		if (ifc_num != 0)
			return -ENODEV;
		ksb = __ksb[bus_id];
		mdev = &fbdev[bus_id];
		break;
@@ -638,8 +638,7 @@ ksb_usb_probe(struct usb_interface *ifc, const struct usb_device_id *id)
	case 0x904C:
	case 0x9075:
	case 0x908A:
		if (ifc_num != 2)
			return -ENODEV;
	case 0x908E:
		ksb = __ksb[EFS_HSIC_BRIDGE_INDEX];
		break;
	case 0x9079:
+6 −0
Original line number Diff line number Diff line
@@ -1091,6 +1091,12 @@ static const struct usb_device_id bridge_ids[] = {
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x908A, 5),
	.driver_info = (unsigned long)rmnet_hsic_bridge_names,
	},
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x908E, 5),
	.driver_info = (unsigned long)serial_hsic_bridge_names,
	},
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x908E, 7),
	.driver_info = (unsigned long)rmnet_hsic_bridge_names,
	},

	{ } /* Terminating entry */
};
Loading