diff options
| author | Philippe Reynes <tremyfr@gmail.com> | 2016-06-12 17:30:54 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2016-06-14 17:16:14 -0400 |
| commit | 7659f50c3c38f808af074dcb5b54247e0cc9989e (patch) | |
| tree | d50a726c0ee30ccbed2f786c26902381f588297b /drivers/net/ethernet/cisco | |
| parent | d1dc06dcd0f8fc559e449322d2fa4d769c289e00 (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.c | 28 |
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 | ||
| 106 | static int enic_get_settings(struct net_device *netdev, | 106 | static 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 | ||
| 502 | static const struct ethtool_ops enic_ethtool_ops = { | 506 | static 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 | ||
| 521 | void enic_set_ethtool_ops(struct net_device *netdev) | 525 | void enic_set_ethtool_ops(struct net_device *netdev) |
