Skip to content

Commit 7659f50

Browse files
Philippe Reynesdavem330
authored andcommitted
net: ethernet: enic: move to new ethtool api {get|set}_link_ksettings
The ethtool api {get|set}_settings is deprecated. We move the enic 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 d1dc06d commit 7659f50

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

drivers/net/ethernet/cisco/enic/enic_ethtool.c

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -103,25 +103,29 @@ static void enic_intr_coal_set_rx(struct enic *enic, u32 timer)
103103
}
104104
}
105105

106-
static int enic_get_settings(struct net_device *netdev,
107-
struct ethtool_cmd *ecmd)
106+
static int enic_get_ksettings(struct net_device *netdev,
107+
struct ethtool_link_ksettings *ecmd)
108108
{
109109
struct enic *enic = netdev_priv(netdev);
110+
struct ethtool_link_settings *base = &ecmd->base;
110111

111-
ecmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_FIBRE);
112-
ecmd->advertising = (ADVERTISED_10000baseT_Full | ADVERTISED_FIBRE);
113-
ecmd->port = PORT_FIBRE;
114-
ecmd->transceiver = XCVR_EXTERNAL;
112+
ethtool_link_ksettings_add_link_mode(ecmd, supported,
113+
10000baseT_Full);
114+
ethtool_link_ksettings_add_link_mode(ecmd, supported, FIBRE);
115+
ethtool_link_ksettings_add_link_mode(ecmd, advertising,
116+
10000baseT_Full);
117+
ethtool_link_ksettings_add_link_mode(ecmd, advertising, FIBRE);
118+
base->port = PORT_FIBRE;
115119

116120
if (netif_carrier_ok(netdev)) {
117-
ethtool_cmd_speed_set(ecmd, vnic_dev_port_speed(enic->vdev));
118-
ecmd->duplex = DUPLEX_FULL;
121+
base->speed = vnic_dev_port_speed(enic->vdev);
122+
base->duplex = DUPLEX_FULL;
119123
} else {
120-
ethtool_cmd_speed_set(ecmd, SPEED_UNKNOWN);
121-
ecmd->duplex = DUPLEX_UNKNOWN;
124+
base->speed = SPEED_UNKNOWN;
125+
base->duplex = DUPLEX_UNKNOWN;
122126
}
123127

124-
ecmd->autoneg = AUTONEG_DISABLE;
128+
base->autoneg = AUTONEG_DISABLE;
125129

126130
return 0;
127131
}
@@ -500,7 +504,6 @@ static int enic_set_rxfh(struct net_device *netdev, const u32 *indir,
500504
}
501505

502506
static const struct ethtool_ops enic_ethtool_ops = {
503-
.get_settings = enic_get_settings,
504507
.get_drvinfo = enic_get_drvinfo,
505508
.get_msglevel = enic_get_msglevel,
506509
.set_msglevel = enic_set_msglevel,
@@ -516,6 +519,7 @@ static const struct ethtool_ops enic_ethtool_ops = {
516519
.get_rxfh_key_size = enic_get_rxfh_key_size,
517520
.get_rxfh = enic_get_rxfh,
518521
.set_rxfh = enic_set_rxfh,
522+
.get_link_ksettings = enic_get_ksettings,
519523
};
520524

521525
void enic_set_ethtool_ops(struct net_device *netdev)

0 commit comments

Comments
 (0)