diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2008-06-19 21:20:04 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-07-21 18:16:15 -0400 |
commit | 45fe3b8e5342cd1ce307099459c74011d8e01986 (patch) | |
tree | 7a8c3653592cac85c1da6edb2e86ddb2c70f2224 /drivers/usb/gadget/u_ether.h | |
parent | da741b8c56d612b5dd26ffa31341911a5fea23ee (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.h | 23 |
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 | */ |
42 | struct gether { | 45 | struct 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) | |||
107 | int geth_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]); | 110 | int geth_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]); |
108 | int ecm_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]); | 111 | int ecm_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]); |
109 | 112 | ||
113 | #ifdef CONFIG_USB_ETH_RNDIS | ||
114 | |||
115 | int rndis_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]); | ||
116 | |||
117 | #else | ||
118 | |||
119 | static inline int | ||
120 | rndis_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 */ |