diff options
author | Philippe Reynes <tremyfr@gmail.com> | 2017-02-19 17:21:41 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-02-20 11:22:19 -0500 |
commit | 45ee2440a33f1c8768cd37a365154343eb5589e3 (patch) | |
tree | eadcda6654eba2215034f0ece4d90bb13c351968 | |
parent | 49cef10ffaeadc9cbb056e9219b3cbaa33ecafca (diff) |
net: qlogic: qlge: 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>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/qlogic/qlge/qlge_ethtool.c | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/drivers/net/ethernet/qlogic/qlge/qlge_ethtool.c b/drivers/net/ethernet/qlogic/qlge/qlge_ethtool.c index 5dade1fd08b8..31f40148fa5c 100644 --- a/drivers/net/ethernet/qlogic/qlge/qlge_ethtool.c +++ b/drivers/net/ethernet/qlogic/qlge/qlge_ethtool.c | |||
@@ -375,28 +375,34 @@ ql_get_ethtool_stats(struct net_device *ndev, | |||
375 | } | 375 | } |
376 | } | 376 | } |
377 | 377 | ||
378 | static int ql_get_settings(struct net_device *ndev, | 378 | static int ql_get_link_ksettings(struct net_device *ndev, |
379 | struct ethtool_cmd *ecmd) | 379 | struct ethtool_link_ksettings *ecmd) |
380 | { | 380 | { |
381 | struct ql_adapter *qdev = netdev_priv(ndev); | 381 | struct ql_adapter *qdev = netdev_priv(ndev); |
382 | u32 supported, advertising; | ||
383 | |||
384 | supported = SUPPORTED_10000baseT_Full; | ||
385 | advertising = ADVERTISED_10000baseT_Full; | ||
382 | 386 | ||
383 | ecmd->supported = SUPPORTED_10000baseT_Full; | ||
384 | ecmd->advertising = ADVERTISED_10000baseT_Full; | ||
385 | ecmd->transceiver = XCVR_EXTERNAL; | ||
386 | if ((qdev->link_status & STS_LINK_TYPE_MASK) == | 387 | if ((qdev->link_status & STS_LINK_TYPE_MASK) == |
387 | STS_LINK_TYPE_10GBASET) { | 388 | STS_LINK_TYPE_10GBASET) { |
388 | ecmd->supported |= (SUPPORTED_TP | SUPPORTED_Autoneg); | 389 | supported |= (SUPPORTED_TP | SUPPORTED_Autoneg); |
389 | ecmd->advertising |= (ADVERTISED_TP | ADVERTISED_Autoneg); | 390 | advertising |= (ADVERTISED_TP | ADVERTISED_Autoneg); |
390 | ecmd->port = PORT_TP; | 391 | ecmd->base.port = PORT_TP; |
391 | ecmd->autoneg = AUTONEG_ENABLE; | 392 | ecmd->base.autoneg = AUTONEG_ENABLE; |
392 | } else { | 393 | } else { |
393 | ecmd->supported |= SUPPORTED_FIBRE; | 394 | supported |= SUPPORTED_FIBRE; |
394 | ecmd->advertising |= ADVERTISED_FIBRE; | 395 | advertising |= ADVERTISED_FIBRE; |
395 | ecmd->port = PORT_FIBRE; | 396 | ecmd->base.port = PORT_FIBRE; |
396 | } | 397 | } |
397 | 398 | ||
398 | ethtool_cmd_speed_set(ecmd, SPEED_10000); | 399 | ecmd->base.speed = SPEED_10000; |
399 | ecmd->duplex = DUPLEX_FULL; | 400 | ecmd->base.duplex = DUPLEX_FULL; |
401 | |||
402 | ethtool_convert_legacy_u32_to_link_mode(ecmd->link_modes.supported, | ||
403 | supported); | ||
404 | ethtool_convert_legacy_u32_to_link_mode(ecmd->link_modes.advertising, | ||
405 | advertising); | ||
400 | 406 | ||
401 | return 0; | 407 | return 0; |
402 | } | 408 | } |
@@ -706,7 +712,6 @@ static void ql_set_msglevel(struct net_device *ndev, u32 value) | |||
706 | } | 712 | } |
707 | 713 | ||
708 | const struct ethtool_ops qlge_ethtool_ops = { | 714 | const struct ethtool_ops qlge_ethtool_ops = { |
709 | .get_settings = ql_get_settings, | ||
710 | .get_drvinfo = ql_get_drvinfo, | 715 | .get_drvinfo = ql_get_drvinfo, |
711 | .get_wol = ql_get_wol, | 716 | .get_wol = ql_get_wol, |
712 | .set_wol = ql_set_wol, | 717 | .set_wol = ql_set_wol, |
@@ -724,5 +729,6 @@ const struct ethtool_ops qlge_ethtool_ops = { | |||
724 | .get_sset_count = ql_get_sset_count, | 729 | .get_sset_count = ql_get_sset_count, |
725 | .get_strings = ql_get_strings, | 730 | .get_strings = ql_get_strings, |
726 | .get_ethtool_stats = ql_get_ethtool_stats, | 731 | .get_ethtool_stats = ql_get_ethtool_stats, |
732 | .get_link_ksettings = ql_get_link_ksettings, | ||
727 | }; | 733 | }; |
728 | 734 | ||