aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/brocade
diff options
context:
space:
mode:
authorPhilippe Reynes <tremyfr@gmail.com>2016-11-28 17:52:19 -0500
committerDavid S. Miller <davem@davemloft.net>2016-11-30 10:29:02 -0500
commit377fa64f19ff45d49dc95d4f9d9a0a95fea7f768 (patch)
tree276900a3b08bbd47daaf37fe77cb5de3ee2bfb88 /drivers/net/ethernet/brocade
parent85de8576a0b14aecc99136cfbf90e367fa2142cb (diff)
net: brocade: bna: 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 <tremyfr@gmail.com> Acked-by: Rasesh Mody <Rasesh.Mody@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/brocade')
-rw-r--r--drivers/net/ethernet/brocade/bna/bnad_ethtool.c54
1 files changed, 30 insertions, 24 deletions
diff --git a/drivers/net/ethernet/brocade/bna/bnad_ethtool.c b/drivers/net/ethernet/brocade/bna/bnad_ethtool.c
index 31f61a744d66..286593922139 100644
--- a/drivers/net/ethernet/brocade/bna/bnad_ethtool.c
+++ b/drivers/net/ethernet/brocade/bna/bnad_ethtool.c
@@ -240,40 +240,46 @@ static const char *bnad_net_stats_strings[] = {
240#define BNAD_ETHTOOL_STATS_NUM ARRAY_SIZE(bnad_net_stats_strings) 240#define BNAD_ETHTOOL_STATS_NUM ARRAY_SIZE(bnad_net_stats_strings)
241 241
242static int 242static int
243bnad_get_settings(struct net_device *netdev, struct ethtool_cmd *cmd) 243bnad_get_link_ksettings(struct net_device *netdev,
244 struct ethtool_link_ksettings *cmd)
244{ 245{
245 cmd->supported = SUPPORTED_10000baseT_Full; 246 u32 supported, advertising;
246 cmd->advertising = ADVERTISED_10000baseT_Full; 247
247 cmd->autoneg = AUTONEG_DISABLE; 248 supported = SUPPORTED_10000baseT_Full;
248 cmd->supported |= SUPPORTED_FIBRE; 249 advertising = ADVERTISED_10000baseT_Full;
249 cmd->advertising |= ADVERTISED_FIBRE; 250 cmd->base.autoneg = AUTONEG_DISABLE;
250 cmd->port = PORT_FIBRE; 251 supported |= SUPPORTED_FIBRE;
251 cmd->phy_address = 0; 252 advertising |= ADVERTISED_FIBRE;
253 cmd->base.port = PORT_FIBRE;
254 cmd->base.phy_address = 0;
252 255
253 if (netif_carrier_ok(netdev)) { 256 if (netif_carrier_ok(netdev)) {
254 ethtool_cmd_speed_set(cmd, SPEED_10000); 257 cmd->base.speed = SPEED_10000;
255 cmd->duplex = DUPLEX_FULL; 258 cmd->base.duplex = DUPLEX_FULL;
256 } else { 259 } else {
257 ethtool_cmd_speed_set(cmd, SPEED_UNKNOWN); 260 cmd->base.speed = SPEED_UNKNOWN;
258 cmd->duplex = DUPLEX_UNKNOWN; 261 cmd->base.duplex = DUPLEX_UNKNOWN;
259 } 262 }
260 cmd->transceiver = XCVR_EXTERNAL; 263
261 cmd->maxtxpkt = 0; 264 ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.supported,
262 cmd->maxrxpkt = 0; 265 supported);
266 ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.advertising,
267 advertising);
263 268
264 return 0; 269 return 0;
265} 270}
266 271
267static int 272static int
268bnad_set_settings(struct net_device *netdev, struct ethtool_cmd *cmd) 273bnad_set_link_ksettings(struct net_device *netdev,
274 const struct ethtool_link_ksettings *cmd)
269{ 275{
270 /* 10G full duplex setting supported only */ 276 /* 10G full duplex setting supported only */
271 if (cmd->autoneg == AUTONEG_ENABLE) 277 if (cmd->base.autoneg == AUTONEG_ENABLE)
272 return -EOPNOTSUPP; else { 278 return -EOPNOTSUPP;
273 if ((ethtool_cmd_speed(cmd) == SPEED_10000) 279
274 && (cmd->duplex == DUPLEX_FULL)) 280 if ((cmd->base.speed == SPEED_10000) &&
275 return 0; 281 (cmd->base.duplex == DUPLEX_FULL))
276 } 282 return 0;
277 283
278 return -EOPNOTSUPP; 284 return -EOPNOTSUPP;
279} 285}
@@ -1118,8 +1124,6 @@ out:
1118} 1124}
1119 1125
1120static const struct ethtool_ops bnad_ethtool_ops = { 1126static const struct ethtool_ops bnad_ethtool_ops = {
1121 .get_settings = bnad_get_settings,
1122 .set_settings = bnad_set_settings,
1123 .get_drvinfo = bnad_get_drvinfo, 1127 .get_drvinfo = bnad_get_drvinfo,
1124 .get_wol = bnad_get_wol, 1128 .get_wol = bnad_get_wol,
1125 .get_link = ethtool_op_get_link, 1129 .get_link = ethtool_op_get_link,
@@ -1137,6 +1141,8 @@ static const struct ethtool_ops bnad_ethtool_ops = {
1137 .set_eeprom = bnad_set_eeprom, 1141 .set_eeprom = bnad_set_eeprom,
1138 .flash_device = bnad_flash_device, 1142 .flash_device = bnad_flash_device,
1139 .get_ts_info = ethtool_op_get_ts_info, 1143 .get_ts_info = ethtool_op_get_ts_info,
1144 .get_link_ksettings = bnad_get_link_ksettings,
1145 .set_link_ksettings = bnad_set_link_ksettings,
1140}; 1146};
1141 1147
1142void 1148void