summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuang Jian Zeng <gzeng@codeaurora.org>2014-03-18 18:14:19 -0700
committerGuang Jian Zeng <gzeng@codeaurora.org>2014-03-19 09:36:03 -0700
commitdf03f91a3631e7fd801296b0a9a76d07e438c51b (patch)
treefdba0976afd25ceeb053c4407b64bcffbaf3b757
parent47d53bf28a2d7c5b260b790761e59fd6f71a3015 (diff)
usb:misc: Add support for HSIC PID 0x909F
This is an MDM device composition consisting of the following interfaces: 1. DIAG (Interrupt IN) 2. System Monitor 3. EFS Sync (Interrupt IN) 4. DUN (Interrupt IN) 5. CSVT 6. Tethered RmNet 7. Embedded RmNet Change-Id: I004e511b964d273dbc753b19c6083dcdda7400c9 Signed-off-by: Guang Jian Zeng <gzeng@codeaurora.org>
-rw-r--r--arch/arm/mach-msm/hsic_sysmon.c1
-rw-r--r--drivers/net/usb/rmnet_usb_data.c16
-rw-r--r--drivers/usb/misc/diag_bridge.c2
-rw-r--r--drivers/usb/misc/ks_bridge.c3
-rw-r--r--drivers/usb/misc/mdm_data_bridge.c6
-rw-r--r--drivers/usb/serial/csvt.c1
6 files changed, 25 insertions, 4 deletions
diff --git a/arch/arm/mach-msm/hsic_sysmon.c b/arch/arm/mach-msm/hsic_sysmon.c
index d0247a5deb26..79eeabb4f5b3 100644
--- a/arch/arm/mach-msm/hsic_sysmon.c
+++ b/arch/arm/mach-msm/hsic_sysmon.c
@@ -411,6 +411,7 @@ static const struct usb_device_id hsic_sysmon_ids[] = {
{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909C, 1), .driver_info = 0, },
{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909D, 1), .driver_info = 0, },
{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909E, 2), .driver_info = 0, },
+ { USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909F, 1), .driver_info = 0, },
{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x90A0, 1), .driver_info = 0, },
{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x90A4, 2), .driver_info = 0, },
diff --git a/drivers/net/usb/rmnet_usb_data.c b/drivers/net/usb/rmnet_usb_data.c
index 65cc97ff6cd2..527bd1e3e5b0 100644
--- a/drivers/net/usb/rmnet_usb_data.c
+++ b/drivers/net/usb/rmnet_usb_data.c
@@ -712,7 +712,8 @@ static const struct usb_device_id vidpids[] = {
{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x904c, 8),
.driver_info = (unsigned long)&rmnet_info,
},
- { USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9075, 6), /*mux over hsic mdm*/
+ /* mux over hsic mdm */
+ { USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9075, 6),
.driver_info = (unsigned long)&rmnet_info,
},
{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x908E, 8),
@@ -730,13 +731,20 @@ static const struct usb_device_id vidpids[] = {
{ USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x9079, 8),
.driver_info = (unsigned long)&rmnet_usb_info,
},
- { USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x908A, 6), /*mux over hsic mdm*/
+ /* mux over hsic mdm */
+ { USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x908A, 6),
.driver_info = (unsigned long)&rmnet_info,
},
- { USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x90A0, 6), /*mux over hsic mdm*/
+ /* mux over hsic mdm */
+ { USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x909F, 6),
.driver_info = (unsigned long)&rmnet_info,
},
- { USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x90A4, 8), /*mux over hsic mdm*/
+ /* mux over hsic mdm */
+ { USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x90A0, 6),
+ .driver_info = (unsigned long)&rmnet_info,
+ },
+ /* mux over hsic mdm */
+ { USB_DEVICE_INTERFACE_NUMBER(0x05c6, 0x90A4, 8),
.driver_info = (unsigned long)&rmnet_info,
},
diff --git a/drivers/usb/misc/diag_bridge.c b/drivers/usb/misc/diag_bridge.c
index 020e5e24f79e..a4e7143e403c 100644
--- a/drivers/usb/misc/diag_bridge.c
+++ b/drivers/usb/misc/diag_bridge.c
@@ -603,6 +603,8 @@ static const struct usb_device_id diag_bridge_ids[] = {
/* 909E, ifc#1 refers to diag client interface */
{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909E, 1),
.driver_info = DEV_ID(1), },
+ { USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909F, 0),
+ .driver_info = DEV_ID(0), },
{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x90A0, 0),
.driver_info = DEV_ID(0), },
{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x90A4, 0),
diff --git a/drivers/usb/misc/ks_bridge.c b/drivers/usb/misc/ks_bridge.c
index 77acb1c6bbd8..5278b28ce8d5 100644
--- a/drivers/usb/misc/ks_bridge.c
+++ b/drivers/usb/misc/ks_bridge.c
@@ -449,6 +449,8 @@ static const struct usb_device_id ksb_usb_ids[] = {
.driver_info = (unsigned long)&ksb_efs_hsic_dev, },
{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909E, 3),
.driver_info = (unsigned long)&ksb_efs_hsic_dev, },
+ { USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909F, 2),
+ .driver_info = (unsigned long)&ksb_efs_hsic_dev, },
{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x90A0, 2),
.driver_info = (unsigned long)&ksb_efs_hsic_dev, },
{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x90A4, 3),
@@ -666,6 +668,7 @@ ksb_usb_probe(struct usb_interface *ifc, const struct usb_device_id *id)
case 0x909C:
case 0x909D:
case 0x909E:
+ case 0x909F:
case 0x90A4:
ksb = __ksb[EFS_HSIC_BRIDGE_INDEX];
break;
diff --git a/drivers/usb/misc/mdm_data_bridge.c b/drivers/usb/misc/mdm_data_bridge.c
index 3c9d8b24ec86..93e5317d2e45 100644
--- a/drivers/usb/misc/mdm_data_bridge.c
+++ b/drivers/usb/misc/mdm_data_bridge.c
@@ -1151,6 +1151,12 @@ static const struct usb_device_id bridge_ids[] = {
{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909E, 4),
.driver_info = (unsigned long)qdss_hsic_bridge_names,
},
+ { USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909F, 3),
+ .driver_info = (unsigned long)serial_hsic_bridge_names,
+ },
+ { USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909F, 5),
+ .driver_info = (unsigned long)rmnet_hsic_bridge_names,
+ },
{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x90A0, 3),
.driver_info = (unsigned long)serial_hsic_bridge_names,
},
diff --git a/drivers/usb/serial/csvt.c b/drivers/usb/serial/csvt.c
index a3021d68749e..fea6f6991e98 100644
--- a/drivers/usb/serial/csvt.c
+++ b/drivers/usb/serial/csvt.c
@@ -54,6 +54,7 @@ static const struct usb_device_id id_table[] = {
{ USB_DEVICE_INTERFACE_NUMBER(0x05c6 , 0x909C, 4)},
{ USB_DEVICE_INTERFACE_NUMBER(0x05c6 , 0x909D, 4)},
{ USB_DEVICE_INTERFACE_NUMBER(0x05c6 , 0x909E, 6)},
+ { USB_DEVICE_INTERFACE_NUMBER(0x05c6 , 0x909F, 4)},
{ USB_DEVICE_INTERFACE_NUMBER(0x05c6 , 0x90A0, 4)},
{ USB_DEVICE_INTERFACE_NUMBER(0x05c6 , 0x90A4, 6)},