Skip to content

Commit 41fc3b6

Browse files
julianwiedmanndavem330
authored andcommitted
s390/qeth: use LINK_MODE_* to report the link characteristics
LINK_MODE_* replaces the u32-limited SUPPORTED_* / ENABLED_* definitions. Signed-off-by: Julian Wiedmann <[email protected]> Reviewed-by: Thomas Richter <[email protected]> Reviewed-by: Ursula Braun <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 993e19c commit 41fc3b6

File tree

1 file changed

+47
-24
lines changed

1 file changed

+47
-24
lines changed

drivers/s390/net/qeth_core_main.c

Lines changed: 47 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6031,52 +6031,75 @@ EXPORT_SYMBOL_GPL(qeth_core_get_drvinfo);
60316031
static void qeth_set_cmd_adv_sup(struct ethtool_link_ksettings *cmd,
60326032
int maxspeed, int porttype)
60336033
{
6034-
u32 sup, adv;
6034+
ethtool_link_ksettings_zero_link_mode(cmd, supported);
6035+
ethtool_link_ksettings_zero_link_mode(cmd, advertising);
6036+
ethtool_link_ksettings_zero_link_mode(cmd, lp_advertising);
60356037

6036-
sup = SUPPORTED_Autoneg;
6037-
adv = ADVERTISED_Autoneg;
6038+
ethtool_link_ksettings_add_link_mode(cmd, supported, Autoneg);
6039+
ethtool_link_ksettings_add_link_mode(cmd, advertising, Autoneg);
60386040

60396041
switch (porttype) {
60406042
case PORT_TP:
6041-
sup |= SUPPORTED_TP;
6042-
adv |= ADVERTISED_TP;
6043+
ethtool_link_ksettings_add_link_mode(cmd, supported, TP);
6044+
ethtool_link_ksettings_add_link_mode(cmd, advertising, TP);
60436045
break;
60446046
case PORT_FIBRE:
6045-
sup |= SUPPORTED_FIBRE;
6046-
adv |= ADVERTISED_FIBRE;
6047+
ethtool_link_ksettings_add_link_mode(cmd, supported, FIBRE);
6048+
ethtool_link_ksettings_add_link_mode(cmd, advertising, FIBRE);
60476049
break;
60486050
default:
6049-
sup |= SUPPORTED_TP;
6050-
adv |= ADVERTISED_TP;
6051+
ethtool_link_ksettings_add_link_mode(cmd, supported, TP);
6052+
ethtool_link_ksettings_add_link_mode(cmd, advertising, TP);
60516053
WARN_ON_ONCE(1);
60526054
}
60536055

60546056
/* fallthrough from high to low, to select all legal speeds: */
60556057
switch (maxspeed) {
60566058
case SPEED_10000:
6057-
sup |= SUPPORTED_10000baseT_Full;
6058-
adv |= ADVERTISED_10000baseT_Full;
6059+
ethtool_link_ksettings_add_link_mode(cmd, supported,
6060+
10000baseT_Full);
6061+
ethtool_link_ksettings_add_link_mode(cmd, advertising,
6062+
10000baseT_Full);
60596063
case SPEED_1000:
6060-
sup |= SUPPORTED_1000baseT_Half | SUPPORTED_1000baseT_Full;
6061-
adv |= ADVERTISED_1000baseT_Half | ADVERTISED_1000baseT_Full;
6064+
ethtool_link_ksettings_add_link_mode(cmd, supported,
6065+
1000baseT_Full);
6066+
ethtool_link_ksettings_add_link_mode(cmd, advertising,
6067+
1000baseT_Full);
6068+
ethtool_link_ksettings_add_link_mode(cmd, supported,
6069+
1000baseT_Half);
6070+
ethtool_link_ksettings_add_link_mode(cmd, advertising,
6071+
1000baseT_Half);
60626072
case SPEED_100:
6063-
sup |= SUPPORTED_100baseT_Half | SUPPORTED_100baseT_Full;
6064-
adv |= ADVERTISED_100baseT_Half | ADVERTISED_100baseT_Full;
6073+
ethtool_link_ksettings_add_link_mode(cmd, supported,
6074+
100baseT_Full);
6075+
ethtool_link_ksettings_add_link_mode(cmd, advertising,
6076+
100baseT_Full);
6077+
ethtool_link_ksettings_add_link_mode(cmd, supported,
6078+
100baseT_Half);
6079+
ethtool_link_ksettings_add_link_mode(cmd, advertising,
6080+
100baseT_Half);
60656081
case SPEED_10:
6066-
sup |= SUPPORTED_10baseT_Half | SUPPORTED_10baseT_Full;
6067-
adv |= ADVERTISED_10baseT_Half | ADVERTISED_10baseT_Full;
6082+
ethtool_link_ksettings_add_link_mode(cmd, supported,
6083+
10baseT_Full);
6084+
ethtool_link_ksettings_add_link_mode(cmd, advertising,
6085+
10baseT_Full);
6086+
ethtool_link_ksettings_add_link_mode(cmd, supported,
6087+
10baseT_Half);
6088+
ethtool_link_ksettings_add_link_mode(cmd, advertising,
6089+
10baseT_Half);
60686090
/* end fallthrough */
60696091
break;
60706092
default:
6071-
sup |= SUPPORTED_10baseT_Half | SUPPORTED_10baseT_Full;
6072-
adv |= ADVERTISED_10baseT_Half | ADVERTISED_10baseT_Full;
6093+
ethtool_link_ksettings_add_link_mode(cmd, supported,
6094+
10baseT_Full);
6095+
ethtool_link_ksettings_add_link_mode(cmd, advertising,
6096+
10baseT_Full);
6097+
ethtool_link_ksettings_add_link_mode(cmd, supported,
6098+
10baseT_Half);
6099+
ethtool_link_ksettings_add_link_mode(cmd, advertising,
6100+
10baseT_Half);
60736101
WARN_ON_ONCE(1);
60746102
}
6075-
6076-
ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.supported,
6077-
sup);
6078-
ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.advertising,
6079-
adv);
60806103
}
60816104

60826105
int qeth_core_ethtool_get_link_ksettings(struct net_device *netdev,

0 commit comments

Comments
 (0)