ethtool: cosmetic: Use ethtool ethtool_cmd_speed API
This updates the network drivers so that they don't access the ethtool_cmd::speed field directly, but use ethtool_cmd_speed() instead. For most of the drivers, these changes are purely cosmetic and don't fix any problem, such as for those 1GbE/10GbE drivers that indirectly call their own ethtool get_settings()/mii_ethtool_gset(). The changes are meant to enforce code consistency and provide robustness with future larger throughputs, at the expense of a few CPU cycles for each ethtool operation. All drivers compiled with make allyesconfig ion x86_64 have been updated. Tested: make allyesconfig on x86_64 + e1000e/bnx2x work Signed-off-by: David Decotigny <decot@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
25db033881
commit
7073949720
@@ -4606,18 +4606,17 @@ static int cas_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
|
||||
if (bmcr & BMCR_ANENABLE) {
|
||||
cmd->advertising |= ADVERTISED_Autoneg;
|
||||
cmd->autoneg = AUTONEG_ENABLE;
|
||||
cmd->speed = ((speed == 10) ?
|
||||
SPEED_10 :
|
||||
((speed == 1000) ?
|
||||
SPEED_1000 : SPEED_100));
|
||||
ethtool_cmd_speed_set(cmd, ((speed == 10) ?
|
||||
SPEED_10 :
|
||||
((speed == 1000) ?
|
||||
SPEED_1000 : SPEED_100)));
|
||||
cmd->duplex = full_duplex ? DUPLEX_FULL : DUPLEX_HALF;
|
||||
} else {
|
||||
cmd->autoneg = AUTONEG_DISABLE;
|
||||
cmd->speed =
|
||||
(bmcr & CAS_BMCR_SPEED1000) ?
|
||||
SPEED_1000 :
|
||||
((bmcr & BMCR_SPEED100) ? SPEED_100:
|
||||
SPEED_10);
|
||||
ethtool_cmd_speed_set(cmd, ((bmcr & CAS_BMCR_SPEED1000) ?
|
||||
SPEED_1000 :
|
||||
((bmcr & BMCR_SPEED100) ?
|
||||
SPEED_100 : SPEED_10)));
|
||||
cmd->duplex =
|
||||
(bmcr & BMCR_FULLDPLX) ?
|
||||
DUPLEX_FULL : DUPLEX_HALF;
|
||||
@@ -4634,14 +4633,14 @@ static int cas_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
|
||||
* settings that we configured.
|
||||
*/
|
||||
if (cp->link_cntl & BMCR_ANENABLE) {
|
||||
cmd->speed = 0;
|
||||
ethtool_cmd_speed_set(cmd, 0);
|
||||
cmd->duplex = 0xff;
|
||||
} else {
|
||||
cmd->speed = SPEED_10;
|
||||
ethtool_cmd_speed_set(cmd, SPEED_10);
|
||||
if (cp->link_cntl & BMCR_SPEED100) {
|
||||
cmd->speed = SPEED_100;
|
||||
ethtool_cmd_speed_set(cmd, SPEED_100);
|
||||
} else if (cp->link_cntl & CAS_BMCR_SPEED1000) {
|
||||
cmd->speed = SPEED_1000;
|
||||
ethtool_cmd_speed_set(cmd, SPEED_1000);
|
||||
}
|
||||
cmd->duplex = (cp->link_cntl & BMCR_FULLDPLX)?
|
||||
DUPLEX_FULL : DUPLEX_HALF;
|
||||
|
Reference in New Issue
Block a user