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/mii.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/mii.c')
-rw-r--r-- | drivers/net/mii.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/net/mii.c b/drivers/net/mii.c index e8198edeaa76..4fbc816efee2 100644 --- a/drivers/net/mii.c +++ b/drivers/net/mii.c | |||
@@ -121,22 +121,25 @@ int mii_ethtool_gset(struct mii_if_info *mii, struct ethtool_cmd *ecmd) | |||
121 | 121 | ||
122 | if (nego & (ADVERTISED_1000baseT_Full | | 122 | if (nego & (ADVERTISED_1000baseT_Full | |
123 | ADVERTISED_1000baseT_Half)) { | 123 | ADVERTISED_1000baseT_Half)) { |
124 | ecmd->speed = SPEED_1000; | 124 | ethtool_cmd_speed_set(ecmd, SPEED_1000); |
125 | ecmd->duplex = !!(nego & ADVERTISED_1000baseT_Full); | 125 | ecmd->duplex = !!(nego & ADVERTISED_1000baseT_Full); |
126 | } else if (nego & (ADVERTISED_100baseT_Full | | 126 | } else if (nego & (ADVERTISED_100baseT_Full | |
127 | ADVERTISED_100baseT_Half)) { | 127 | ADVERTISED_100baseT_Half)) { |
128 | ecmd->speed = SPEED_100; | 128 | ethtool_cmd_speed_set(ecmd, SPEED_100); |
129 | ecmd->duplex = !!(nego & ADVERTISED_100baseT_Full); | 129 | ecmd->duplex = !!(nego & ADVERTISED_100baseT_Full); |
130 | } else { | 130 | } else { |
131 | ecmd->speed = SPEED_10; | 131 | ethtool_cmd_speed_set(ecmd, SPEED_10); |
132 | ecmd->duplex = !!(nego & ADVERTISED_10baseT_Full); | 132 | ecmd->duplex = !!(nego & ADVERTISED_10baseT_Full); |
133 | } | 133 | } |
134 | } else { | 134 | } else { |
135 | ecmd->autoneg = AUTONEG_DISABLE; | 135 | ecmd->autoneg = AUTONEG_DISABLE; |
136 | 136 | ||
137 | ecmd->speed = ((bmcr & BMCR_SPEED1000 && | 137 | ethtool_cmd_speed_set(ecmd, |
138 | (bmcr & BMCR_SPEED100) == 0) ? SPEED_1000 : | 138 | ((bmcr & BMCR_SPEED1000 && |
139 | (bmcr & BMCR_SPEED100) ? SPEED_100 : SPEED_10); | 139 | (bmcr & BMCR_SPEED100) == 0) ? |
140 | SPEED_1000 : | ||
141 | ((bmcr & BMCR_SPEED100) ? | ||
142 | SPEED_100 : SPEED_10))); | ||
140 | ecmd->duplex = (bmcr & BMCR_FULLDPLX) ? DUPLEX_FULL : DUPLEX_HALF; | 143 | ecmd->duplex = (bmcr & BMCR_FULLDPLX) ? DUPLEX_FULL : DUPLEX_HALF; |
141 | } | 144 | } |
142 | 145 | ||