diff options
author | David Decotigny <decot@google.com> | 2011-04-27 14:32:40 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-04-29 17:03:01 -0400 |
commit | 707394972093e2056e1e8cc39be19cf9bcb3e7b3 (patch) | |
tree | f6dc95219bca6895adf304b79241e9d60561f8f5 /drivers/net/cassini.c | |
parent | 25db0338813a8915457636b1f6abe6a28fa73f8d (diff) |
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>
Diffstat (limited to 'drivers/net/cassini.c')
-rw-r--r-- | drivers/net/cassini.c | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/drivers/net/cassini.c b/drivers/net/cassini.c index a6c3f8c8c302..22ce03e55b83 100644 --- a/drivers/net/cassini.c +++ b/drivers/net/cassini.c | |||
@@ -4606,18 +4606,17 @@ static int cas_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) | |||
4606 | if (bmcr & BMCR_ANENABLE) { | 4606 | if (bmcr & BMCR_ANENABLE) { |
4607 | cmd->advertising |= ADVERTISED_Autoneg; | 4607 | cmd->advertising |= ADVERTISED_Autoneg; |
4608 | cmd->autoneg = AUTONEG_ENABLE; | 4608 | cmd->autoneg = AUTONEG_ENABLE; |
4609 | cmd->speed = ((speed == 10) ? | 4609 | ethtool_cmd_speed_set(cmd, ((speed == 10) ? |
4610 | SPEED_10 : | 4610 | SPEED_10 : |
4611 | ((speed == 1000) ? | 4611 | ((speed == 1000) ? |
4612 | SPEED_1000 : SPEED_100)); | 4612 | SPEED_1000 : SPEED_100))); |
4613 | cmd->duplex = full_duplex ? DUPLEX_FULL : DUPLEX_HALF; | 4613 | cmd->duplex = full_duplex ? DUPLEX_FULL : DUPLEX_HALF; |
4614 | } else { | 4614 | } else { |
4615 | cmd->autoneg = AUTONEG_DISABLE; | 4615 | cmd->autoneg = AUTONEG_DISABLE; |
4616 | cmd->speed = | 4616 | ethtool_cmd_speed_set(cmd, ((bmcr & CAS_BMCR_SPEED1000) ? |
4617 | (bmcr & CAS_BMCR_SPEED1000) ? | 4617 | SPEED_1000 : |
4618 | SPEED_1000 : | 4618 | ((bmcr & BMCR_SPEED100) ? |
4619 | ((bmcr & BMCR_SPEED100) ? SPEED_100: | 4619 | SPEED_100 : SPEED_10))); |
4620 | SPEED_10); | ||
4621 | cmd->duplex = | 4620 | cmd->duplex = |
4622 | (bmcr & BMCR_FULLDPLX) ? | 4621 | (bmcr & BMCR_FULLDPLX) ? |
4623 | DUPLEX_FULL : DUPLEX_HALF; | 4622 | DUPLEX_FULL : DUPLEX_HALF; |
@@ -4634,14 +4633,14 @@ static int cas_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) | |||
4634 | * settings that we configured. | 4633 | * settings that we configured. |
4635 | */ | 4634 | */ |
4636 | if (cp->link_cntl & BMCR_ANENABLE) { | 4635 | if (cp->link_cntl & BMCR_ANENABLE) { |
4637 | cmd->speed = 0; | 4636 | ethtool_cmd_speed_set(cmd, 0); |
4638 | cmd->duplex = 0xff; | 4637 | cmd->duplex = 0xff; |
4639 | } else { | 4638 | } else { |
4640 | cmd->speed = SPEED_10; | 4639 | ethtool_cmd_speed_set(cmd, SPEED_10); |
4641 | if (cp->link_cntl & BMCR_SPEED100) { | 4640 | if (cp->link_cntl & BMCR_SPEED100) { |
4642 | cmd->speed = SPEED_100; | 4641 | ethtool_cmd_speed_set(cmd, SPEED_100); |
4643 | } else if (cp->link_cntl & CAS_BMCR_SPEED1000) { | 4642 | } else if (cp->link_cntl & CAS_BMCR_SPEED1000) { |
4644 | cmd->speed = SPEED_1000; | 4643 | ethtool_cmd_speed_set(cmd, SPEED_1000); |
4645 | } | 4644 | } |
4646 | cmd->duplex = (cp->link_cntl & BMCR_FULLDPLX)? | 4645 | cmd->duplex = (cp->link_cntl & BMCR_FULLDPLX)? |
4647 | DUPLEX_FULL : DUPLEX_HALF; | 4646 | DUPLEX_FULL : DUPLEX_HALF; |