summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSteve Lin <stlin@nvidia.com>2011-02-14 11:31:11 -0800
committerVarun Colbert <vcolbert@nvidia.com>2011-02-18 15:07:29 -0800
commit3dd8821fd5ff588ac45e7fdd7b71f1cdc5c1eb22 (patch)
tree32cbf8b93b2dd2445cf2559e61583b34cc372ac9 /include
parent301d02c71f07e00270173ef78a332339c441b3ee (diff)
usb: Adding USB CDC NCM class driver.
This driver supports devices conforming to the Communication Device Class (CDC) Network Control Model. The CDC specifications are available from <http://www.usb.org/>. This driver is implemented as a minidriver for usbnet driver framework. Bug 776360 Change-Id: If5e900f80edebc742536a59716aad546b714ba4c Reviewed-on: http://git-master/r/14921 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/usb/cdc.h1
-rw-r--r--include/linux/usb/usbnet.h4
2 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/usb/cdc.h b/include/linux/usb/cdc.h
index c117a68d04a7..c4d4cce83857 100644
--- a/include/linux/usb/cdc.h
+++ b/include/linux/usb/cdc.h
@@ -32,6 +32,7 @@
#define USB_CDC_PROTO_EEM 7
+#define NCM_DATA_CLASS_PROTOCOCL_CODE 0x01
/*-------------------------------------------------------------------------*/
/*
diff --git a/include/linux/usb/usbnet.h b/include/linux/usb/usbnet.h
index 7ae27a473818..6d4922fd707a 100644
--- a/include/linux/usb/usbnet.h
+++ b/include/linux/usb/usbnet.h
@@ -43,7 +43,7 @@ struct usbnet {
/* protocol/interface state */
struct net_device *net;
int msg_enable;
- unsigned long data[5];
+ unsigned long data[6];
u32 xid;
u32 hard_mtu; /* count any extra framing */
size_t rx_urb_size; /* size for rx urbs */
@@ -161,12 +161,14 @@ struct cdc_state {
struct usb_cdc_header_desc *header;
struct usb_cdc_union_desc *u;
struct usb_cdc_ether_desc *ether;
+ struct usb_cdc_ncm_desc *ncm;
struct usb_interface *control;
struct usb_interface *data;
};
extern int usbnet_generic_cdc_bind(struct usbnet *, struct usb_interface *);
extern void usbnet_cdc_unbind(struct usbnet *, struct usb_interface *);
+extern void usbnet_cdc_status(struct usbnet *dev, struct urb *urb);
/* CDC and RNDIS support the same host-chosen packet filters for IN transfers */
#define DEFAULT_FILTER (USB_CDC_PACKET_TYPE_BROADCAST \