Steffen Klassert wrote:
+static int vortex_nway_reset(struct net_device *dev)
+{
+ struct vortex_private *vp = netdev_priv(dev);
+ long ioaddr = dev->base_addr;
+ EL3WINDOW(4);
+ return mii_nway_restart(&vp->mii);
+}
+
+static u32 vortex_get_link(struct net_device *dev)
+{
+ struct vortex_private *vp = netdev_priv(dev);
+ long ioaddr = dev->base_addr;
+ EL3WINDOW(4);
+ return mii_link_ok(&vp->mii);
+}
3c59x should properly use netif_carrier_{on,off}, at which point you can
eliminate vortex_get_link in favor of generic ethtool_op_get_link
+static int vortex_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
+{
+ struct vortex_private *vp = netdev_priv(dev);
+ long ioaddr = dev->base_addr;
+ EL3WINDOW(4);
+ return mii_ethtool_gset(&vp->mii, cmd);
+}
+
+static int vortex_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
+{
+ struct vortex_private *vp = netdev_priv(dev);
+ long ioaddr = dev->base_addr;
+ EL3WINDOW(4);
+ return mii_ethtool_sset(&vp->mii, cmd);
+}
I think that this and the other MII patch should do some amount of
locking, like the other drivers.
Jeff
|