@@ -6031,52 +6031,75 @@ EXPORT_SYMBOL_GPL(qeth_core_get_drvinfo);
6031
6031
static void qeth_set_cmd_adv_sup (struct ethtool_link_ksettings * cmd ,
6032
6032
int maxspeed , int porttype )
6033
6033
{
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 );
6035
6037
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 ) ;
6038
6040
6039
6041
switch (porttype ) {
6040
6042
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 ) ;
6043
6045
break ;
6044
6046
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 ) ;
6047
6049
break ;
6048
6050
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 ) ;
6051
6053
WARN_ON_ONCE (1 );
6052
6054
}
6053
6055
6054
6056
/* fallthrough from high to low, to select all legal speeds: */
6055
6057
switch (maxspeed ) {
6056
6058
case SPEED_10000 :
6057
- sup |= SUPPORTED_10000baseT_Full ;
6058
- adv |= ADVERTISED_10000baseT_Full ;
6059
+ ethtool_link_ksettings_add_link_mode (cmd , supported ,
6060
+ 10000b aseT_Full );
6061
+ ethtool_link_ksettings_add_link_mode (cmd , advertising ,
6062
+ 10000b aseT_Full );
6059
6063
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
+ 1000b aseT_Full );
6066
+ ethtool_link_ksettings_add_link_mode (cmd , advertising ,
6067
+ 1000b aseT_Full );
6068
+ ethtool_link_ksettings_add_link_mode (cmd , supported ,
6069
+ 1000b aseT_Half );
6070
+ ethtool_link_ksettings_add_link_mode (cmd , advertising ,
6071
+ 1000b aseT_Half );
6062
6072
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
+ 100b aseT_Full );
6075
+ ethtool_link_ksettings_add_link_mode (cmd , advertising ,
6076
+ 100b aseT_Full );
6077
+ ethtool_link_ksettings_add_link_mode (cmd , supported ,
6078
+ 100b aseT_Half );
6079
+ ethtool_link_ksettings_add_link_mode (cmd , advertising ,
6080
+ 100b aseT_Half );
6065
6081
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
+ 10b aseT_Full );
6084
+ ethtool_link_ksettings_add_link_mode (cmd , advertising ,
6085
+ 10b aseT_Full );
6086
+ ethtool_link_ksettings_add_link_mode (cmd , supported ,
6087
+ 10b aseT_Half );
6088
+ ethtool_link_ksettings_add_link_mode (cmd , advertising ,
6089
+ 10b aseT_Half );
6068
6090
/* end fallthrough */
6069
6091
break ;
6070
6092
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
+ 10b aseT_Full );
6095
+ ethtool_link_ksettings_add_link_mode (cmd , advertising ,
6096
+ 10b aseT_Full );
6097
+ ethtool_link_ksettings_add_link_mode (cmd , supported ,
6098
+ 10b aseT_Half );
6099
+ ethtool_link_ksettings_add_link_mode (cmd , advertising ,
6100
+ 10b aseT_Half );
6073
6101
WARN_ON_ONCE (1 );
6074
6102
}
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 );
6080
6103
}
6081
6104
6082
6105
int qeth_core_ethtool_get_link_ksettings (struct net_device * netdev ,
0 commit comments