[PATCH] USB: usbnet (3/9) module for ASIX Ethernet adapters

This patch moves the ASIX AX8817x driver into its own file, just using
the "usbnet" infrastructure as a utility library.

 - As with "cdc_subset" this involved minor Kconfig/kbuild tweaks,
   moving code from one file to another, and exporting a few functions.

 - This includes updates from Jamie Painter to add (and use) a new hook
   to handle the different maximum transfer sizes for rx and tx sides.

 - Also from Jamie, some bugfixes:
    * MDIO byteorder (to address some PPC media negotiation problems);
    * Force alignment at key spots when using ax88772 framing (on some
      embedded hardware, the network stack will break otherwise);
    * Address some link reset problems.

It also makes this driver use the standard (5 seconds vs half second)
control timeouts used elsewhere in USB; and wraps a few lines before
the 80th column (which previously needed it).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff --git a/drivers/usb/net/usbnet.h b/drivers/usb/net/usbnet.h
index d903b46..21b5feb 100644
--- a/drivers/usb/net/usbnet.h
+++ b/drivers/usb/net/usbnet.h
@@ -44,6 +44,7 @@
 	unsigned long		data [5];
 	u32			xid;
 	u32			hard_mtu;	/* count any extra framing */
+	size_t		        rx_urb_size;    /* size for rx urbs  */
 	struct mii_if_info	mii;
 
 	/* various kinds of pending driver work */
@@ -140,6 +141,13 @@
 };
 
 
+extern int usbnet_get_endpoints(struct usbnet *, struct usb_interface *);
+extern void usbnet_defer_kevent (struct usbnet *, int);
+extern void usbnet_skb_return (struct usbnet *, struct sk_buff *);
+
+extern u32 usbnet_get_msglevel (struct net_device *);
+extern void usbnet_set_msglevel (struct net_device *, u32);
+extern void usbnet_get_drvinfo (struct net_device *, struct ethtool_drvinfo *);
 
 /* messaging support includes the interface name, so it must not be
  * used before it has one ... notably, in minidriver bind() calls.