summaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc/qt202x_phy.c
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2009-11-23 16:06:30 +0000
committerDavid S. Miller <davem@davemloft.net>2009-11-24 10:58:53 -0800
commiteb50c0d67fe3c5513c717c2dee6d9771c51be703 (patch)
tree449f56f6c8fac242be9ac57663ad98128524b404 /drivers/net/sfc/qt202x_phy.c
parente775fb93a880d218ce0b3fd405278dd78f86c405 (diff)
downloadtalos-obmc-linux-eb50c0d67fe3c5513c717c2dee6d9771c51be703.tar.gz
talos-obmc-linux-eb50c0d67fe3c5513c717c2dee6d9771c51be703.zip
sfc: Gather link state fields in struct efx_nic into new struct efx_link_state
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/qt202x_phy.c')
-rw-r--r--drivers/net/sfc/qt202x_phy.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/sfc/qt202x_phy.c b/drivers/net/sfc/qt202x_phy.c
index 73bc5ad227f4..8208ac0ffad7 100644
--- a/drivers/net/sfc/qt202x_phy.c
+++ b/drivers/net/sfc/qt202x_phy.c
@@ -182,13 +182,14 @@ static void qt202x_phy_poll(struct efx_nic *efx)
{
int link_up = qt202x_link_ok(efx);
/* Simulate a PHY event if link state has changed */
- if (link_up != efx->link_up)
+ if (link_up != efx->link_state.up)
falcon_sim_phy_event(efx);
}
static void qt202x_phy_reconfigure(struct efx_nic *efx)
{
struct qt202x_phy_data *phy_data = efx->phy_data;
+ struct efx_link_state *link_state = &efx->link_state;
if (efx->phy_type == PHY_TYPE_QT2025C) {
/* There are several different register bits which can
@@ -215,10 +216,10 @@ static void qt202x_phy_reconfigure(struct efx_nic *efx)
efx_mdio_phy_reconfigure(efx);
phy_data->phy_mode = efx->phy_mode;
- efx->link_up = qt202x_link_ok(efx);
- efx->link_speed = 10000;
- efx->link_fd = true;
- efx->link_fc = efx->wanted_fc;
+ link_state->up = qt202x_link_ok(efx);
+ link_state->speed = 10000;
+ link_state->fd = true;
+ link_state->fc = efx->wanted_fc;
}
static void qt202x_phy_get_settings(struct efx_nic *efx, struct ethtool_cmd *ecmd)
OpenPOWER on IntegriCloud