Commit 6711a87a authored by Philippe Reynes's avatar Philippe Reynes Committed by David S. Miller

net: dec: uli526x: use new api ethtool_{get|set}_link_ksettings

The ethtool api {get|set}_settings is deprecated.
We move this driver to new api {get|set}_link_ksettings.
Signed-off-by: default avatarPhilippe Reynes <tremyfr@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 41a65f70
...@@ -926,48 +926,53 @@ static void uli526x_set_filter_mode(struct net_device * dev) ...@@ -926,48 +926,53 @@ static void uli526x_set_filter_mode(struct net_device * dev)
} }
static void static void
ULi_ethtool_gset(struct uli526x_board_info *db, struct ethtool_cmd *ecmd) ULi_ethtool_get_link_ksettings(struct uli526x_board_info *db,
struct ethtool_link_ksettings *cmd)
{ {
ecmd->supported = (SUPPORTED_10baseT_Half | u32 supported, advertising;
supported = (SUPPORTED_10baseT_Half |
SUPPORTED_10baseT_Full | SUPPORTED_10baseT_Full |
SUPPORTED_100baseT_Half | SUPPORTED_100baseT_Half |
SUPPORTED_100baseT_Full | SUPPORTED_100baseT_Full |
SUPPORTED_Autoneg | SUPPORTED_Autoneg |
SUPPORTED_MII); SUPPORTED_MII);
ecmd->advertising = (ADVERTISED_10baseT_Half | advertising = (ADVERTISED_10baseT_Half |
ADVERTISED_10baseT_Full | ADVERTISED_10baseT_Full |
ADVERTISED_100baseT_Half | ADVERTISED_100baseT_Half |
ADVERTISED_100baseT_Full | ADVERTISED_100baseT_Full |
ADVERTISED_Autoneg | ADVERTISED_Autoneg |
ADVERTISED_MII); ADVERTISED_MII);
ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.supported,
supported);
ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.advertising,
advertising);
ecmd->port = PORT_MII; cmd->base.port = PORT_MII;
ecmd->phy_address = db->phy_addr; cmd->base.phy_address = db->phy_addr;
ecmd->transceiver = XCVR_EXTERNAL;
ethtool_cmd_speed_set(ecmd, SPEED_10); cmd->base.speed = SPEED_10;
ecmd->duplex = DUPLEX_HALF; cmd->base.duplex = DUPLEX_HALF;
if(db->op_mode==ULI526X_100MHF || db->op_mode==ULI526X_100MFD) if(db->op_mode==ULI526X_100MHF || db->op_mode==ULI526X_100MFD)
{ {
ethtool_cmd_speed_set(ecmd, SPEED_100); cmd->base.speed = SPEED_100;
} }
if(db->op_mode==ULI526X_10MFD || db->op_mode==ULI526X_100MFD) if(db->op_mode==ULI526X_10MFD || db->op_mode==ULI526X_100MFD)
{ {
ecmd->duplex = DUPLEX_FULL; cmd->base.duplex = DUPLEX_FULL;
} }
if(db->link_failed) if(db->link_failed)
{ {
ethtool_cmd_speed_set(ecmd, SPEED_UNKNOWN); cmd->base.speed = SPEED_UNKNOWN;
ecmd->duplex = DUPLEX_UNKNOWN; cmd->base.duplex = DUPLEX_UNKNOWN;
} }
if (db->media_mode & ULI526X_AUTO) if (db->media_mode & ULI526X_AUTO)
{ {
ecmd->autoneg = AUTONEG_ENABLE; cmd->base.autoneg = AUTONEG_ENABLE;
} }
} }
...@@ -981,10 +986,12 @@ static void netdev_get_drvinfo(struct net_device *dev, ...@@ -981,10 +986,12 @@ static void netdev_get_drvinfo(struct net_device *dev,
strlcpy(info->bus_info, pci_name(np->pdev), sizeof(info->bus_info)); strlcpy(info->bus_info, pci_name(np->pdev), sizeof(info->bus_info));
} }
static int netdev_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) { static int netdev_get_link_ksettings(struct net_device *dev,
struct ethtool_link_ksettings *cmd)
{
struct uli526x_board_info *np = netdev_priv(dev); struct uli526x_board_info *np = netdev_priv(dev);
ULi_ethtool_gset(np, cmd); ULi_ethtool_get_link_ksettings(np, cmd);
return 0; return 0;
} }
...@@ -1006,9 +1013,9 @@ static void uli526x_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) ...@@ -1006,9 +1013,9 @@ static void uli526x_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
static const struct ethtool_ops netdev_ethtool_ops = { static const struct ethtool_ops netdev_ethtool_ops = {
.get_drvinfo = netdev_get_drvinfo, .get_drvinfo = netdev_get_drvinfo,
.get_settings = netdev_get_settings,
.get_link = netdev_get_link, .get_link = netdev_get_link,
.get_wol = uli526x_get_wol, .get_wol = uli526x_get_wol,
.get_link_ksettings = netdev_get_link_ksettings,
}; };
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment