aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/cisco
diff options
context:
space:
mode:
authorPhilippe Reynes <tremyfr@gmail.com>2016-06-12 17:30:54 -0400
committerDavid S. Miller <davem@davemloft.net>2016-06-14 17:16:14 -0400
commit7659f50c3c38f808af074dcb5b54247e0cc9989e (patch)
treed50a726c0ee30ccbed2f786c26902381f588297b /drivers/net/ethernet/cisco
parentd1dc06dcd0f8fc559e449322d2fa4d769c289e00 (diff)
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 <tremyfr@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/cisco')
-rw-r--r--drivers/net/ethernet/cisco/enic/enic_ethtool.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/drivers/net/ethernet/cisco/enic/enic_ethtool.c b/drivers/net/ethernet/cisco/enic/enic_ethtool.c
index f44a39c40642..fd3980cc1e34 100644
--- a/drivers/net/ethernet/cisco/enic/enic_ethtool.c
+++ b/drivers/net/ethernet/cisco/enic/enic_ethtool.c
@@ -103,25 +103,29 @@ static void enic_intr_coal_set_rx(struct enic *enic, u32 timer)
103 } 103 }
104} 104}
105 105
106static int enic_get_settings(struct net_device *netdev, 106static int enic_get_ksettings(struct net_device *netdev,
107 struct ethtool_cmd *ecmd) 107 struct ethtool_link_ksettings *ecmd)
108{ 108{
109 struct enic *enic = netdev_priv(netdev); 109 struct enic *enic = netdev_priv(netdev);
110 struct ethtool_link_settings *base = &ecmd->base;
110 111
111 ecmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_FIBRE); 112 ethtool_link_ksettings_add_link_mode(ecmd, supported,
112 ecmd->advertising = (ADVERTISED_10000baseT_Full | ADVERTISED_FIBRE); 113 10000baseT_Full);
113 ecmd->port = PORT_FIBRE; 114 ethtool_link_ksettings_add_link_mode(ecmd, supported, FIBRE);
114 ecmd->transceiver = XCVR_EXTERNAL; 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;
115 119
116 if (netif_carrier_ok(netdev)) { 120 if (netif_carrier_ok(netdev)) {
117 ethtool_cmd_speed_set(ecmd, vnic_dev_port_speed(enic->vdev)); 121 base->speed = vnic_dev_port_speed(enic->vdev);
118 ecmd->duplex = DUPLEX_FULL; 122 base->duplex = DUPLEX_FULL;
119 } else { 123 } else {
120 ethtool_cmd_speed_set(ecmd, SPEED_UNKNOWN); 124 base->speed = SPEED_UNKNOWN;
121 ecmd->duplex = DUPLEX_UNKNOWN; 125 base->duplex = DUPLEX_UNKNOWN;
122 } 126 }
123 127
124 ecmd->autoneg = AUTONEG_DISABLE; 128 base->autoneg = AUTONEG_DISABLE;
125 129
126 return 0; 130 return 0;
127} 131}
@@ -500,7 +504,6 @@ static int enic_set_rxfh(struct net_device *netdev, const u32 *indir,
500} 504}
501 505
502static const struct ethtool_ops enic_ethtool_ops = { 506static const struct ethtool_ops enic_ethtool_ops = {
503 .get_settings = enic_get_settings,
504 .get_drvinfo = enic_get_drvinfo, 507 .get_drvinfo = enic_get_drvinfo,
505 .get_msglevel = enic_get_msglevel, 508 .get_msglevel = enic_get_msglevel,
506 .set_msglevel = enic_set_msglevel, 509 .set_msglevel = enic_set_msglevel,
@@ -516,6 +519,7 @@ static const struct ethtool_ops enic_ethtool_ops = {
516 .get_rxfh_key_size = enic_get_rxfh_key_size, 519 .get_rxfh_key_size = enic_get_rxfh_key_size,
517 .get_rxfh = enic_get_rxfh, 520 .get_rxfh = enic_get_rxfh,
518 .set_rxfh = enic_set_rxfh, 521 .set_rxfh = enic_set_rxfh,
522 .get_link_ksettings = enic_get_ksettings,
519}; 523};
520 524
521void enic_set_ethtool_ops(struct net_device *netdev) 525void enic_set_ethtool_ops(struct net_device *netdev)