aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/u_ether.h
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2008-06-19 21:20:04 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-07-21 18:16:15 -0400
commit45fe3b8e5342cd1ce307099459c74011d8e01986 (patch)
tree7a8c3653592cac85c1da6edb2e86ddb2c70f2224 /drivers/usb/gadget/u_ether.h
parentda741b8c56d612b5dd26ffa31341911a5fea23ee (diff)
usb ethernet gadget: split RNDIS function
This is a RNDIS function driver, extracted from the all-in-one Ethernet gadget driver. Lightly tested ... there seems to be a pre-existing problem when talking to Windows XP SP2, not quite sure what's up with that yet. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/gadget/u_ether.h')
-rw-r--r--drivers/usb/gadget/u_ether.h23
1 files changed, 20 insertions, 3 deletions
diff --git a/drivers/usb/gadget/u_ether.h b/drivers/usb/gadget/u_ether.h
index 8abf197ab402..0d1f7ae3b071 100644
--- a/drivers/usb/gadget/u_ether.h
+++ b/drivers/usb/gadget/u_ether.h
@@ -34,10 +34,13 @@
34/* 34/*
35 * This represents the USB side of an "ethernet" link, managed by a USB 35 * This represents the USB side of an "ethernet" link, managed by a USB
36 * function which provides control and (maybe) framing. Two functions 36 * function which provides control and (maybe) framing. Two functions
37 * in different configurations could share the same ethernet link/netdev. 37 * in different configurations could share the same ethernet link/netdev,
38 * using different host interaction models.
38 * 39 *
39 * There is currently a limitation that one instance of this function 40 * There is a current limitation that only one instance of this link may
40 * may be present in any given configuration. 41 * be present in any given configuration. When that's a problem, network
42 * layer facilities can be used to package multiple logical links on this
43 * single "physical" one.
41 */ 44 */
42struct gether { 45struct gether {
43 struct usb_function func; 46 struct usb_function func;
@@ -107,4 +110,18 @@ static inline bool can_support_ecm(struct usb_gadget *gadget)
107int geth_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]); 110int geth_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]);
108int ecm_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]); 111int ecm_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]);
109 112
113#ifdef CONFIG_USB_ETH_RNDIS
114
115int rndis_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]);
116
117#else
118
119static inline int
120rndis_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN])
121{
122 return 0;
123}
124
125#endif
126
110#endif /* __U_ETHER_H */ 127#endif /* __U_ETHER_H */