Skip to content

Commit

Permalink
[PATCH] USB: usbnet (3/9) module for ASIX Ethernet adapters
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
David Brownell authored and Greg Kroah-Hartman committed Sep 8, 2005
1 parent 38bde1d commit 2e55cc7
Showing 5 changed files with 1,010 additions and 896 deletions.
13 changes: 6 additions & 7 deletions drivers/usb/net/Kconfig
Original file line number Diff line number Diff line change
@@ -202,23 +202,22 @@ config USB_CDCETHER
IEEE 802 "local assignment" bit is set in the address, a "usbX"
name is used instead.

comment "USB Network Adapters"
depends on USB_USBNET
comment "Drivers built using the usbnet core"

config USB_AX8817X
boolean "ASIX AX88xxx Based USB 2.0 Ethernet Devices"
config USB_NET_AX8817X
tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters"
depends on USB_USBNET && NET_ETHERNET
select CRC32
select MII
default y
help
This option adds support for ASIX AX88xxx based USB 2.0
10/100 Ethernet devices.
10/100 Ethernet adapters.

This driver should work with at least the following devices:
* Aten UC210T
* ASIX AX88172
* Billionton Systems, USB2AR
* Billionton Systems, USB2AR
* Buffalo LUA-U2-KTX
* Corega FEther USB2-TX
* D-Link DUB-E100
@@ -231,7 +230,7 @@ config USB_AX8817X
* TrendNet TU2-ET100

This driver creates an interface named "ethX", where X depends on
what other networking devices you have in use.
what other networking devices you have in use.


config USB_NET_CDC_SUBSET
1 change: 1 addition & 0 deletions drivers/usb/net/Makefile
Original file line number Diff line number Diff line change
@@ -6,6 +6,7 @@ obj-$(CONFIG_USB_CATC) += catc.o
obj-$(CONFIG_USB_KAWETH) += kaweth.o
obj-$(CONFIG_USB_PEGASUS) += pegasus.o
obj-$(CONFIG_USB_RTL8150) += rtl8150.o
obj-$(CONFIG_USB_NET_AX8817X) += asix.o
obj-$(CONFIG_USB_NET_CDC_SUBSET) += cdc_subset.o
obj-$(CONFIG_USB_USBNET) += usbnet.o
obj-$(CONFIG_USB_ZD1201) += zd1201.o
948 changes: 948 additions & 0 deletions drivers/usb/net/asix.c

Large diffs are not rendered by default.

936 changes: 47 additions & 889 deletions drivers/usb/net/usbnet.c

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions drivers/usb/net/usbnet.h
Original file line number Diff line number Diff line change
@@ -44,6 +44,7 @@ struct usbnet {
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 @@ struct skb_data { /* skb->cb is one of these */
};


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.

0 comments on commit 2e55cc7

Please sign in to comment.