diff options
Diffstat (limited to 'drivers/usb/gadget/u_ether.h')
| -rw-r--r-- | drivers/usb/gadget/u_ether.h | 27 | 
1 files changed, 16 insertions, 11 deletions
diff --git a/drivers/usb/gadget/u_ether.h b/drivers/usb/gadget/u_ether.h index 6f4a1623d85..02522338a70 100644 --- a/drivers/usb/gadget/u_ether.h +++ b/drivers/usb/gadget/u_ether.h @@ -21,6 +21,7 @@  #include "gadget_chips.h" +struct eth_dev;  /*   * This represents the USB side of an "ethernet" link, managed by a USB @@ -70,7 +71,7 @@ struct gether {  			|USB_CDC_PACKET_TYPE_DIRECTED)  /* variant of gether_setup that allows customizing network device name */ -int gether_setup_name(struct usb_gadget *g, u8 ethaddr[ETH_ALEN], +struct eth_dev *gether_setup_name(struct usb_gadget *g, u8 ethaddr[ETH_ALEN],  		const char *netname);  /* netdev setup/teardown as directed by the gadget driver */ @@ -86,12 +87,13 @@ int gether_setup_name(struct usb_gadget *g, u8 ethaddr[ETH_ALEN],   *   * Returns negative errno, or zero on success   */ -static inline int gether_setup(struct usb_gadget *g, u8 ethaddr[ETH_ALEN]) +static inline struct eth_dev *gether_setup(struct usb_gadget *g, +		u8 ethaddr[ETH_ALEN])  {  	return gether_setup_name(g, ethaddr, "usb");  } -void gether_cleanup(void); +void gether_cleanup(struct eth_dev *dev);  /* connect/disconnect is handled by individual functions */  struct net_device *gether_connect(struct gether *); @@ -111,21 +113,24 @@ static inline bool can_support_ecm(struct usb_gadget *gadget)  }  /* each configuration may bind one instance of an ethernet link */ -int geth_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]); -int ecm_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]); -int ncm_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]); -int eem_bind_config(struct usb_configuration *c); +int geth_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN], +		struct eth_dev *dev); +int ecm_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN], +		struct eth_dev *dev); +int ncm_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN], +		struct eth_dev *dev); +int eem_bind_config(struct usb_configuration *c, struct eth_dev *dev);  #ifdef USB_ETH_RNDIS  int rndis_bind_config_vendor(struct usb_configuration *c, u8 ethaddr[ETH_ALEN], -				u32 vendorID, const char *manufacturer); +		u32 vendorID, const char *manufacturer, struct eth_dev *dev);  #else  static inline int  rndis_bind_config_vendor(struct usb_configuration *c, u8 ethaddr[ETH_ALEN], -				u32 vendorID, const char *manufacturer) +		u32 vendorID, const char *manufacturer, struct eth_dev *dev)  {  	return 0;  } @@ -145,9 +150,9 @@ rndis_bind_config_vendor(struct usb_configuration *c, u8 ethaddr[ETH_ALEN],   * for calling @gether_cleanup() before module unload.   */  static inline int rndis_bind_config(struct usb_configuration *c, -				    u8 ethaddr[ETH_ALEN]) +		u8 ethaddr[ETH_ALEN], struct eth_dev *dev)  { -	return rndis_bind_config_vendor(c, ethaddr, 0, NULL); +	return rndis_bind_config_vendor(c, ethaddr, 0, NULL, dev);  }  |