Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 40686
b: refs/heads/master
c: 18ee91f
h: refs/heads/master
v: v3
  • Loading branch information
David Brownell authored and Greg Kroah-Hartman committed Nov 3, 2006
1 parent 5d8e369 commit 17a0e2b
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 28 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9b823b43ff308c914530ec7fde5e2d79cb37b51a
refs/heads/master: 18ee91fa9815fa3bb4e51cdcb8229bd0a0f11a70
8 changes: 7 additions & 1 deletion trunk/drivers/usb/net/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,13 @@ config USB_RTL8150
To compile this driver as a module, choose M here: the
module will be called rtl8150.

config USB_USBNET_MII
tristate
default n

config USB_USBNET
tristate "Multi-purpose USB Networking Framework"
select MII if USBNET_MII != n
---help---
This driver supports several kinds of network links over USB,
with "minidrivers" built around a common network driver core
Expand Down Expand Up @@ -129,7 +134,7 @@ config USB_NET_AX8817X
tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters"
depends on USB_USBNET && NET_ETHERNET
select CRC32
select MII
select USB_USBNET_MII
default y
help
This option adds support for ASIX AX88xxx based USB 2.0
Expand Down Expand Up @@ -210,6 +215,7 @@ config USB_NET_PLUSB
config USB_NET_MCS7830
tristate "MosChip MCS7830 based Ethernet adapters"
depends on USB_USBNET
select USB_USBNET_MII
help
Choose this option if you're using a 10/100 Ethernet USB2
adapter based on the MosChip 7830 controller. This includes
Expand Down
58 changes: 32 additions & 26 deletions trunk/drivers/usb/net/usbnet.c
Original file line number Diff line number Diff line change
Expand Up @@ -669,6 +669,9 @@ static int usbnet_open (struct net_device *net)
* they'll probably want to use this base set.
*/

#if defined(CONFIG_MII) || defined(CONFIG_MII_MODULE)
#define HAVE_MII

int usbnet_get_settings (struct net_device *net, struct ethtool_cmd *cmd)
{
struct usbnet *dev = netdev_priv(net);
Expand Down Expand Up @@ -699,20 +702,6 @@ int usbnet_set_settings (struct net_device *net, struct ethtool_cmd *cmd)
}
EXPORT_SYMBOL_GPL(usbnet_set_settings);


void usbnet_get_drvinfo (struct net_device *net, struct ethtool_drvinfo *info)
{
struct usbnet *dev = netdev_priv(net);

/* REVISIT don't always return "usbnet" */
strncpy (info->driver, driver_name, sizeof info->driver);
strncpy (info->version, DRIVER_VERSION, sizeof info->version);
strncpy (info->fw_version, dev->driver_info->description,
sizeof info->fw_version);
usb_make_path (dev->udev, info->bus_info, sizeof info->bus_info);
}
EXPORT_SYMBOL_GPL(usbnet_get_drvinfo);

u32 usbnet_get_link (struct net_device *net)
{
struct usbnet *dev = netdev_priv(net);
Expand All @@ -730,40 +719,57 @@ u32 usbnet_get_link (struct net_device *net)
}
EXPORT_SYMBOL_GPL(usbnet_get_link);

u32 usbnet_get_msglevel (struct net_device *net)
int usbnet_nway_reset(struct net_device *net)
{
struct usbnet *dev = netdev_priv(net);

return dev->msg_enable;
if (!dev->mii.mdio_write)
return -EOPNOTSUPP;

return mii_nway_restart(&dev->mii);
}
EXPORT_SYMBOL_GPL(usbnet_get_msglevel);
EXPORT_SYMBOL_GPL(usbnet_nway_reset);

void usbnet_set_msglevel (struct net_device *net, u32 level)
#endif /* HAVE_MII */

void usbnet_get_drvinfo (struct net_device *net, struct ethtool_drvinfo *info)
{
struct usbnet *dev = netdev_priv(net);

dev->msg_enable = level;
/* REVISIT don't always return "usbnet" */
strncpy (info->driver, driver_name, sizeof info->driver);
strncpy (info->version, DRIVER_VERSION, sizeof info->version);
strncpy (info->fw_version, dev->driver_info->description,
sizeof info->fw_version);
usb_make_path (dev->udev, info->bus_info, sizeof info->bus_info);
}
EXPORT_SYMBOL_GPL(usbnet_set_msglevel);
EXPORT_SYMBOL_GPL(usbnet_get_drvinfo);

int usbnet_nway_reset(struct net_device *net)
u32 usbnet_get_msglevel (struct net_device *net)
{
struct usbnet *dev = netdev_priv(net);

if (!dev->mii.mdio_write)
return -EOPNOTSUPP;
return dev->msg_enable;
}
EXPORT_SYMBOL_GPL(usbnet_get_msglevel);

return mii_nway_restart(&dev->mii);
void usbnet_set_msglevel (struct net_device *net, u32 level)
{
struct usbnet *dev = netdev_priv(net);

dev->msg_enable = level;
}
EXPORT_SYMBOL_GPL(usbnet_nway_reset);
EXPORT_SYMBOL_GPL(usbnet_set_msglevel);

/* drivers may override default ethtool_ops in their bind() routine */
static struct ethtool_ops usbnet_ethtool_ops = {
#ifdef HAVE_MII
.get_settings = usbnet_get_settings,
.set_settings = usbnet_set_settings,
.get_drvinfo = usbnet_get_drvinfo,
.get_link = usbnet_get_link,
.nway_reset = usbnet_nway_reset,
#endif
.get_drvinfo = usbnet_get_drvinfo,
.get_msglevel = usbnet_get_msglevel,
.set_msglevel = usbnet_set_msglevel,
};
Expand Down

0 comments on commit 17a0e2b

Please sign in to comment.