From 45fe3b8e5342cd1ce307099459c74011d8e01986 Mon Sep 17 00:00:00 2001 From: David Brownell Date: Thu, 19 Jun 2008 18:20:04 -0700 Subject: 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 Signed-off-by: Greg Kroah-Hartman --- drivers/usb/gadget/u_ether.h | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'drivers/usb/gadget/u_ether.h') diff --git a/drivers/usb/gadget/u_ether.h b/drivers/usb/gadget/u_ether.h index 8abf197ab40..0d1f7ae3b07 100644 --- a/drivers/usb/gadget/u_ether.h +++ b/drivers/usb/gadget/u_ether.h @@ -34,10 +34,13 @@ /* * This represents the USB side of an "ethernet" link, managed by a USB * function which provides control and (maybe) framing. Two functions - * in different configurations could share the same ethernet link/netdev. + * in different configurations could share the same ethernet link/netdev, + * using different host interaction models. * - * There is currently a limitation that one instance of this function - * may be present in any given configuration. + * There is a current limitation that only one instance of this link may + * be present in any given configuration. When that's a problem, network + * layer facilities can be used to package multiple logical links on this + * single "physical" one. */ struct gether { struct usb_function func; @@ -107,4 +110,18 @@ static inline bool can_support_ecm(struct usb_gadget *gadget) int geth_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]); int ecm_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]); +#ifdef CONFIG_USB_ETH_RNDIS + +int rndis_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]); + +#else + +static inline int +rndis_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]) +{ + return 0; +} + +#endif + #endif /* __U_ETHER_H */ -- cgit v1.2.3-70-g09d2