You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
[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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
38bde1d469
commit
2e55cc7210
@@ -202,23 +202,22 @@ config USB_CDCETHER
|
|||||||
IEEE 802 "local assignment" bit is set in the address, a "usbX"
|
IEEE 802 "local assignment" bit is set in the address, a "usbX"
|
||||||
name is used instead.
|
name is used instead.
|
||||||
|
|
||||||
comment "USB Network Adapters"
|
comment "Drivers built using the usbnet core"
|
||||||
depends on USB_USBNET
|
|
||||||
|
|
||||||
config USB_AX8817X
|
config USB_NET_AX8817X
|
||||||
boolean "ASIX AX88xxx Based USB 2.0 Ethernet Devices"
|
tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters"
|
||||||
depends on USB_USBNET && NET_ETHERNET
|
depends on USB_USBNET && NET_ETHERNET
|
||||||
select CRC32
|
select CRC32
|
||||||
select MII
|
select MII
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
This option adds support for ASIX AX88xxx based USB 2.0
|
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:
|
This driver should work with at least the following devices:
|
||||||
* Aten UC210T
|
* Aten UC210T
|
||||||
* ASIX AX88172
|
* ASIX AX88172
|
||||||
* Billionton Systems, USB2AR
|
* Billionton Systems, USB2AR
|
||||||
* Buffalo LUA-U2-KTX
|
* Buffalo LUA-U2-KTX
|
||||||
* Corega FEther USB2-TX
|
* Corega FEther USB2-TX
|
||||||
* D-Link DUB-E100
|
* D-Link DUB-E100
|
||||||
@@ -231,7 +230,7 @@ config USB_AX8817X
|
|||||||
* TrendNet TU2-ET100
|
* TrendNet TU2-ET100
|
||||||
|
|
||||||
This driver creates an interface named "ethX", where X depends on
|
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
|
config USB_NET_CDC_SUBSET
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ obj-$(CONFIG_USB_CATC) += catc.o
|
|||||||
obj-$(CONFIG_USB_KAWETH) += kaweth.o
|
obj-$(CONFIG_USB_KAWETH) += kaweth.o
|
||||||
obj-$(CONFIG_USB_PEGASUS) += pegasus.o
|
obj-$(CONFIG_USB_PEGASUS) += pegasus.o
|
||||||
obj-$(CONFIG_USB_RTL8150) += rtl8150.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_NET_CDC_SUBSET) += cdc_subset.o
|
||||||
obj-$(CONFIG_USB_USBNET) += usbnet.o
|
obj-$(CONFIG_USB_USBNET) += usbnet.o
|
||||||
obj-$(CONFIG_USB_ZD1201) += zd1201.o
|
obj-$(CONFIG_USB_ZD1201) += zd1201.o
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
+47
-889
File diff suppressed because it is too large
Load Diff
@@ -44,6 +44,7 @@ struct usbnet {
|
|||||||
unsigned long data [5];
|
unsigned long data [5];
|
||||||
u32 xid;
|
u32 xid;
|
||||||
u32 hard_mtu; /* count any extra framing */
|
u32 hard_mtu; /* count any extra framing */
|
||||||
|
size_t rx_urb_size; /* size for rx urbs */
|
||||||
struct mii_if_info mii;
|
struct mii_if_info mii;
|
||||||
|
|
||||||
/* various kinds of pending driver work */
|
/* 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
|
/* messaging support includes the interface name, so it must not be
|
||||||
* used before it has one ... notably, in minidriver bind() calls.
|
* used before it has one ... notably, in minidriver bind() calls.
|
||||||
|
|||||||
Reference in New Issue
Block a user