diff options
author | Philippe Reynes <tremyfr@gmail.com> | 2017-02-05 17:55:19 -0500 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2017-03-21 18:51:39 -0400 |
commit | 1120ecd5aa38c385e747b8fb300d5597dcb2d19c (patch) | |
tree | 99841fb01bfecb1fe73fd4e302ec360315b9a717 /drivers | |
parent | c19153008ba0f7b86234820e8a87d58806707a15 (diff) |
igbvf: 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.
As I don't have the hardware, I'd be very pleased if
someone may test this patch.
Signed-off-by: Philippe Reynes <tremyfr@gmail.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/intel/igbvf/ethtool.c | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/drivers/net/ethernet/intel/igbvf/ethtool.c b/drivers/net/ethernet/intel/igbvf/ethtool.c index 8dea1b1367ef..34faa113a8a0 100644 --- a/drivers/net/ethernet/intel/igbvf/ethtool.c +++ b/drivers/net/ethernet/intel/igbvf/ethtool.c | |||
@@ -71,45 +71,45 @@ static const char igbvf_gstrings_test[][ETH_GSTRING_LEN] = { | |||
71 | 71 | ||
72 | #define IGBVF_TEST_LEN ARRAY_SIZE(igbvf_gstrings_test) | 72 | #define IGBVF_TEST_LEN ARRAY_SIZE(igbvf_gstrings_test) |
73 | 73 | ||
74 | static int igbvf_get_settings(struct net_device *netdev, | 74 | static int igbvf_get_link_ksettings(struct net_device *netdev, |
75 | struct ethtool_cmd *ecmd) | 75 | struct ethtool_link_ksettings *cmd) |
76 | { | 76 | { |
77 | struct igbvf_adapter *adapter = netdev_priv(netdev); | 77 | struct igbvf_adapter *adapter = netdev_priv(netdev); |
78 | struct e1000_hw *hw = &adapter->hw; | 78 | struct e1000_hw *hw = &adapter->hw; |
79 | u32 status; | 79 | u32 status; |
80 | 80 | ||
81 | ecmd->supported = SUPPORTED_1000baseT_Full; | 81 | ethtool_link_ksettings_zero_link_mode(cmd, supported); |
82 | ethtool_link_ksettings_add_link_mode(cmd, supported, 1000baseT_Full); | ||
83 | ethtool_link_ksettings_zero_link_mode(cmd, advertising); | ||
84 | ethtool_link_ksettings_add_link_mode(cmd, advertising, 1000baseT_Full); | ||
82 | 85 | ||
83 | ecmd->advertising = ADVERTISED_1000baseT_Full; | 86 | cmd->base.port = -1; |
84 | |||
85 | ecmd->port = -1; | ||
86 | ecmd->transceiver = XCVR_DUMMY1; | ||
87 | 87 | ||
88 | status = er32(STATUS); | 88 | status = er32(STATUS); |
89 | if (status & E1000_STATUS_LU) { | 89 | if (status & E1000_STATUS_LU) { |
90 | if (status & E1000_STATUS_SPEED_1000) | 90 | if (status & E1000_STATUS_SPEED_1000) |
91 | ethtool_cmd_speed_set(ecmd, SPEED_1000); | 91 | cmd->base.speed = SPEED_1000; |
92 | else if (status & E1000_STATUS_SPEED_100) | 92 | else if (status & E1000_STATUS_SPEED_100) |
93 | ethtool_cmd_speed_set(ecmd, SPEED_100); | 93 | cmd->base.speed = SPEED_100; |
94 | else | 94 | else |
95 | ethtool_cmd_speed_set(ecmd, SPEED_10); | 95 | cmd->base.speed = SPEED_10; |
96 | 96 | ||
97 | if (status & E1000_STATUS_FD) | 97 | if (status & E1000_STATUS_FD) |
98 | ecmd->duplex = DUPLEX_FULL; | 98 | cmd->base.duplex = DUPLEX_FULL; |
99 | else | 99 | else |
100 | ecmd->duplex = DUPLEX_HALF; | 100 | cmd->base.duplex = DUPLEX_HALF; |
101 | } else { | 101 | } else { |
102 | ethtool_cmd_speed_set(ecmd, SPEED_UNKNOWN); | 102 | cmd->base.speed = SPEED_UNKNOWN; |
103 | ecmd->duplex = DUPLEX_UNKNOWN; | 103 | cmd->base.duplex = DUPLEX_UNKNOWN; |
104 | } | 104 | } |
105 | 105 | ||
106 | ecmd->autoneg = AUTONEG_DISABLE; | 106 | cmd->base.autoneg = AUTONEG_DISABLE; |
107 | 107 | ||
108 | return 0; | 108 | return 0; |
109 | } | 109 | } |
110 | 110 | ||
111 | static int igbvf_set_settings(struct net_device *netdev, | 111 | static int igbvf_set_link_ksettings(struct net_device *netdev, |
112 | struct ethtool_cmd *ecmd) | 112 | const struct ethtool_link_ksettings *cmd) |
113 | { | 113 | { |
114 | return -EOPNOTSUPP; | 114 | return -EOPNOTSUPP; |
115 | } | 115 | } |
@@ -443,8 +443,6 @@ static void igbvf_get_strings(struct net_device *netdev, u32 stringset, | |||
443 | } | 443 | } |
444 | 444 | ||
445 | static const struct ethtool_ops igbvf_ethtool_ops = { | 445 | static const struct ethtool_ops igbvf_ethtool_ops = { |
446 | .get_settings = igbvf_get_settings, | ||
447 | .set_settings = igbvf_set_settings, | ||
448 | .get_drvinfo = igbvf_get_drvinfo, | 446 | .get_drvinfo = igbvf_get_drvinfo, |
449 | .get_regs_len = igbvf_get_regs_len, | 447 | .get_regs_len = igbvf_get_regs_len, |
450 | .get_regs = igbvf_get_regs, | 448 | .get_regs = igbvf_get_regs, |
@@ -467,6 +465,8 @@ static const struct ethtool_ops igbvf_ethtool_ops = { | |||
467 | .get_ethtool_stats = igbvf_get_ethtool_stats, | 465 | .get_ethtool_stats = igbvf_get_ethtool_stats, |
468 | .get_coalesce = igbvf_get_coalesce, | 466 | .get_coalesce = igbvf_get_coalesce, |
469 | .set_coalesce = igbvf_set_coalesce, | 467 | .set_coalesce = igbvf_set_coalesce, |
468 | .get_link_ksettings = igbvf_get_link_ksettings, | ||
469 | .set_link_ksettings = igbvf_set_link_ksettings, | ||
470 | }; | 470 | }; |
471 | 471 | ||
472 | void igbvf_set_ethtool_ops(struct net_device *netdev) | 472 | void igbvf_set_ethtool_ops(struct net_device *netdev) |