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

Commit ae830ca7 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "usb: misc: Add support for diag bridging over mdm_data_bridge"

parents ccc7af4f 4bf3e5dc
Loading
Loading
Loading
Loading
+0 −26
Original line number Diff line number Diff line
@@ -588,34 +588,8 @@ static int diag_bridge_resume(struct usb_interface *ifc)
static const struct usb_device_id diag_bridge_ids[] = {
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x901F, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x90EF, 4),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x90F0, 4),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x90F3, 0),
	.driver_info =	DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x90FD, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9102, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9103, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9104, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9105, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9106, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9107, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x910A, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x910B, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x910C, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x910D, 0),
	.driver_info =  DEV_ID(0), },

	{} /* terminating entry */
};
+26 −0
Original line number Diff line number Diff line
@@ -970,34 +970,60 @@ static void bridge_disconnect(struct usb_interface *intf)
static const struct usb_device_id bridge_ids[] = {
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9008, 0),
	.driver_info = (kernel_ulong_t)("edl"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x90EF, 4),
	.driver_info = (kernel_ulong_t)("diag"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x90F0, 4),
	.driver_info = (kernel_ulong_t)("diag"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x90FD, 0),
	.driver_info = (kernel_ulong_t)("diag"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9102, 0),
	.driver_info = (kernel_ulong_t)("diag"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9102, 6),
	.driver_info = (kernel_ulong_t)("qdss"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9102, 7),
	.driver_info = (kernel_ulong_t)("dpl"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9103, 0),
	.driver_info = (kernel_ulong_t)("diag"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9103, 6),
	.driver_info = (kernel_ulong_t)("dpl"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9104, 0),
	.driver_info = (kernel_ulong_t)("diag"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9104, 1),
	.driver_info = (kernel_ulong_t)("qdss"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9104, 2),
	.driver_info = (kernel_ulong_t)("dpl"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9105, 0),
	.driver_info = (kernel_ulong_t)("diag"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9105, 1),
	.driver_info = (kernel_ulong_t)("dpl"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9106, 0),
	.driver_info = (kernel_ulong_t)("diag"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9106, 5),
	.driver_info = (kernel_ulong_t)("qdss"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9106, 6),
	.driver_info = (kernel_ulong_t)("dpl"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9107, 0),
	.driver_info = (kernel_ulong_t)("diag"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9107, 5),
	.driver_info = (kernel_ulong_t)("dpl"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x910A, 0),
	.driver_info = (kernel_ulong_t)("diag"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x910A, 2),
	.driver_info = (kernel_ulong_t)("dpl"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x910A, 3),
	.driver_info = (kernel_ulong_t)("qdss"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x910B, 0),
	.driver_info = (kernel_ulong_t)("diag"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x910B, 2),
	.driver_info = (kernel_ulong_t)("dpl"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x910C, 0),
	.driver_info = (kernel_ulong_t)("diag"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x910C, 1),
	.driver_info = (kernel_ulong_t)("dpl"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x910C, 2),
	.driver_info = (kernel_ulong_t)("qdss"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x910D, 0),
	.driver_info = (kernel_ulong_t)("diag"), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x910D, 1),
	.driver_info = (kernel_ulong_t)("dpl"), },

+5 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ enum bridge_id {
	USB_BRIDGE_QDSS,
	USB_BRIDGE_DPL,
	USB_BRIDGE_EDL,
	USB_BRIDGE_DIAG,
	MAX_BRIDGE_DEVICES,
};

@@ -37,6 +38,8 @@ static int bridge_name_to_id(const char *name)
		return USB_BRIDGE_DPL;
	if (!strncasecmp(name, "edl", MAX_INST_NAME_LEN))
		return USB_BRIDGE_EDL;
	if (!strncasecmp(name, "diag", MAX_INST_NAME_LEN))
		return USB_BRIDGE_DIAG;

fail:
	return -EINVAL;
@@ -51,6 +54,8 @@ static int bridge_id_to_protocol(enum bridge_id id)
		return 0x80;
	case USB_BRIDGE_EDL:
		return 0x10;
	case USB_BRIDGE_DIAG:
		return 0x30;
	default:
		return -EINVAL;
	}