Skip to content

Commit 639cfa9

Browse files
Philippe Reynesdavem330
authored andcommitted
net: ethernet: broadcom: bcm63xx: 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: Philippe Reynes <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 625eb86 commit 639cfa9

File tree

1 file changed

+28
-24
lines changed

1 file changed

+28
-24
lines changed

drivers/net/ethernet/broadcom/bcm63xx_enet.c

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1442,56 +1442,60 @@ static int bcm_enet_nway_reset(struct net_device *dev)
14421442
return -EOPNOTSUPP;
14431443
}
14441444

1445-
static int bcm_enet_get_settings(struct net_device *dev,
1446-
struct ethtool_cmd *cmd)
1445+
static int bcm_enet_get_link_ksettings(struct net_device *dev,
1446+
struct ethtool_link_ksettings *cmd)
14471447
{
14481448
struct bcm_enet_priv *priv;
1449+
u32 supported, advertising;
14491450

14501451
priv = netdev_priv(dev);
14511452

1452-
cmd->maxrxpkt = 0;
1453-
cmd->maxtxpkt = 0;
1454-
14551453
if (priv->has_phy) {
14561454
if (!dev->phydev)
14571455
return -ENODEV;
1458-
return phy_ethtool_gset(dev->phydev, cmd);
1456+
return phy_ethtool_ksettings_get(dev->phydev, cmd);
14591457
} else {
1460-
cmd->autoneg = 0;
1461-
ethtool_cmd_speed_set(cmd, ((priv->force_speed_100)
1462-
? SPEED_100 : SPEED_10));
1463-
cmd->duplex = (priv->force_duplex_full) ?
1458+
cmd->base.autoneg = 0;
1459+
cmd->base.speed = (priv->force_speed_100) ?
1460+
SPEED_100 : SPEED_10;
1461+
cmd->base.duplex = (priv->force_duplex_full) ?
14641462
DUPLEX_FULL : DUPLEX_HALF;
1465-
cmd->supported = ADVERTISED_10baseT_Half |
1463+
supported = ADVERTISED_10baseT_Half |
14661464
ADVERTISED_10baseT_Full |
14671465
ADVERTISED_100baseT_Half |
14681466
ADVERTISED_100baseT_Full;
1469-
cmd->advertising = 0;
1470-
cmd->port = PORT_MII;
1471-
cmd->transceiver = XCVR_EXTERNAL;
1467+
advertising = 0;
1468+
ethtool_convert_legacy_u32_to_link_mode(
1469+
cmd->link_modes.supported, supported);
1470+
ethtool_convert_legacy_u32_to_link_mode(
1471+
cmd->link_modes.advertising, advertising);
1472+
cmd->base.port = PORT_MII;
14721473
}
14731474
return 0;
14741475
}
14751476

1476-
static int bcm_enet_set_settings(struct net_device *dev,
1477-
struct ethtool_cmd *cmd)
1477+
static int bcm_enet_set_link_ksettings(struct net_device *dev,
1478+
const struct ethtool_link_ksettings *cmd)
14781479
{
14791480
struct bcm_enet_priv *priv;
14801481

14811482
priv = netdev_priv(dev);
14821483
if (priv->has_phy) {
14831484
if (!dev->phydev)
14841485
return -ENODEV;
1485-
return phy_ethtool_sset(dev->phydev, cmd);
1486+
return phy_ethtool_ksettings_set(dev->phydev, cmd);
14861487
} else {
14871488

1488-
if (cmd->autoneg ||
1489-
(cmd->speed != SPEED_100 && cmd->speed != SPEED_10) ||
1490-
cmd->port != PORT_MII)
1489+
if (cmd->base.autoneg ||
1490+
(cmd->base.speed != SPEED_100 &&
1491+
cmd->base.speed != SPEED_10) ||
1492+
cmd->base.port != PORT_MII)
14911493
return -EINVAL;
14921494

1493-
priv->force_speed_100 = (cmd->speed == SPEED_100) ? 1 : 0;
1494-
priv->force_duplex_full = (cmd->duplex == DUPLEX_FULL) ? 1 : 0;
1495+
priv->force_speed_100 =
1496+
(cmd->base.speed == SPEED_100) ? 1 : 0;
1497+
priv->force_duplex_full =
1498+
(cmd->base.duplex == DUPLEX_FULL) ? 1 : 0;
14951499

14961500
if (netif_running(dev))
14971501
bcm_enet_adjust_link(dev);
@@ -1585,14 +1589,14 @@ static const struct ethtool_ops bcm_enet_ethtool_ops = {
15851589
.get_sset_count = bcm_enet_get_sset_count,
15861590
.get_ethtool_stats = bcm_enet_get_ethtool_stats,
15871591
.nway_reset = bcm_enet_nway_reset,
1588-
.get_settings = bcm_enet_get_settings,
1589-
.set_settings = bcm_enet_set_settings,
15901592
.get_drvinfo = bcm_enet_get_drvinfo,
15911593
.get_link = ethtool_op_get_link,
15921594
.get_ringparam = bcm_enet_get_ringparam,
15931595
.set_ringparam = bcm_enet_set_ringparam,
15941596
.get_pauseparam = bcm_enet_get_pauseparam,
15951597
.set_pauseparam = bcm_enet_set_pauseparam,
1598+
.get_link_ksettings = bcm_enet_get_link_ksettings,
1599+
.set_link_ksettings = bcm_enet_set_link_ksettings,
15961600
};
15971601

15981602
static int bcm_enet_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)

0 commit comments

Comments
 (0)