|
@@ -669,6 +669,9 @@ done:
|
|
|
* 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);
|
|
@@ -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);
|
|
@@ -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,
|
|
|
};
|