aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/net/usbnet.h
diff options
context:
space:
mode:
authorDavid Brownell <david-b@pacbell.net>2005-08-31 09:53:58 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2005-09-08 16:28:32 -0700
commit0aa599c5644fddd3052433c5335260108a8a39a2 (patch)
tree53ff1eadd9d5386e7b9912b1d2728d150ad8567f /drivers/usb/net/usbnet.h
parent47ee3051c856cc2aa95d35d577a8cb37279d540f (diff)
[PATCH] USB: usbnet (6/9) module for Zaurii and compatibles
This moves usbnet support for Zaurus and compatibles into its own module. Other than exporting a couple of helper functions, this just involved shuffling some code and updating the comments. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/net/usbnet.h')
-rw-r--r--drivers/usb/net/usbnet.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/usb/net/usbnet.h b/drivers/usb/net/usbnet.h
index 21b5feb54fc..7aa0abd1a9b 100644
--- a/drivers/usb/net/usbnet.h
+++ b/drivers/usb/net/usbnet.h
@@ -126,6 +126,28 @@ extern int usbnet_resume (struct usb_interface *);
extern void usbnet_disconnect(struct usb_interface *);
+/* Drivers that reuse some of the standard USB CDC infrastructure
+ * (notably, using multiple interfaces according to the the CDC
+ * union descriptor) get some helper code.
+ */
+struct cdc_state {
+ struct usb_cdc_header_desc *header;
+ struct usb_cdc_union_desc *u;
+ struct usb_cdc_ether_desc *ether;
+ 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 *);
+
+/* CDC and RNDIS support the same host-chosen packet filters for IN transfers */
+#define DEFAULT_FILTER (USB_CDC_PACKET_TYPE_BROADCAST \
+ |USB_CDC_PACKET_TYPE_ALL_MULTICAST \
+ |USB_CDC_PACKET_TYPE_PROMISCUOUS \
+ |USB_CDC_PACKET_TYPE_DIRECTED)
+
+
/* we record the state for each of our queued skbs */
enum skb_state {
illegal = 0,