diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2013-12-05 17:52:15 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-12-06 14:57:21 -0500 |
commit | b0ac9564061265dd14e6f8f777622e3401b82b4b (patch) | |
tree | 390b78ca15d01a6914252a2276774e94dc20a10e /drivers/net/ethernet/arc | |
parent | 8fdade4be755af17a3d205d07f594f939f173504 (diff) |
arc_emac: remove custom "max-speed" parsing code
The ARC emac driver was the only in-tree to parse a PHY device
'max-speed' property but yet failed to do it correctly because
'max-speed' is supposed to set a PHY device supported features, not the
advertising features as it was done.
Now that of_mdiobus_register() takes care of doing that, remove the
custom 'max-speed' parsing code.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/arc')
-rw-r--r-- | drivers/net/ethernet/arc/emac.h | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/arc/emac_main.c | 20 |
2 files changed, 1 insertions, 21 deletions
diff --git a/drivers/net/ethernet/arc/emac.h b/drivers/net/ethernet/arc/emac.h index dc08678bf9a4..928fac6dd10a 100644 --- a/drivers/net/ethernet/arc/emac.h +++ b/drivers/net/ethernet/arc/emac.h | |||
@@ -122,7 +122,6 @@ struct buffer_state { | |||
122 | * @link: PHY's last seen link state. | 122 | * @link: PHY's last seen link state. |
123 | * @duplex: PHY's last set duplex mode. | 123 | * @duplex: PHY's last set duplex mode. |
124 | * @speed: PHY's last set speed. | 124 | * @speed: PHY's last set speed. |
125 | * @max_speed: Maximum supported by current system network data-rate. | ||
126 | */ | 125 | */ |
127 | struct arc_emac_priv { | 126 | struct arc_emac_priv { |
128 | /* Devices */ | 127 | /* Devices */ |
@@ -152,7 +151,6 @@ struct arc_emac_priv { | |||
152 | unsigned int link; | 151 | unsigned int link; |
153 | unsigned int duplex; | 152 | unsigned int duplex; |
154 | unsigned int speed; | 153 | unsigned int speed; |
155 | unsigned int max_speed; | ||
156 | }; | 154 | }; |
157 | 155 | ||
158 | /** | 156 | /** |
diff --git a/drivers/net/ethernet/arc/emac_main.c b/drivers/net/ethernet/arc/emac_main.c index b2ffad1304d2..eedf2a5fc2be 100644 --- a/drivers/net/ethernet/arc/emac_main.c +++ b/drivers/net/ethernet/arc/emac_main.c | |||
@@ -381,17 +381,7 @@ static int arc_emac_open(struct net_device *ndev) | |||
381 | phy_dev->autoneg = AUTONEG_ENABLE; | 381 | phy_dev->autoneg = AUTONEG_ENABLE; |
382 | phy_dev->speed = 0; | 382 | phy_dev->speed = 0; |
383 | phy_dev->duplex = 0; | 383 | phy_dev->duplex = 0; |
384 | phy_dev->advertising = phy_dev->supported; | 384 | phy_dev->advertising &= phy_dev->supported; |
385 | |||
386 | if (priv->max_speed > 100) { | ||
387 | phy_dev->advertising &= PHY_GBIT_FEATURES; | ||
388 | } else if (priv->max_speed <= 100) { | ||
389 | phy_dev->advertising &= PHY_BASIC_FEATURES; | ||
390 | if (priv->max_speed <= 10) { | ||
391 | phy_dev->advertising &= ~SUPPORTED_100baseT_Half; | ||
392 | phy_dev->advertising &= ~SUPPORTED_100baseT_Full; | ||
393 | } | ||
394 | } | ||
395 | 385 | ||
396 | priv->last_rx_bd = 0; | 386 | priv->last_rx_bd = 0; |
397 | 387 | ||
@@ -704,14 +694,6 @@ static int arc_emac_probe(struct platform_device *pdev) | |||
704 | /* Set poll rate so that it polls every 1 ms */ | 694 | /* Set poll rate so that it polls every 1 ms */ |
705 | arc_reg_set(priv, R_POLLRATE, clock_frequency / 1000000); | 695 | arc_reg_set(priv, R_POLLRATE, clock_frequency / 1000000); |
706 | 696 | ||
707 | /* Get max speed of operation from device tree */ | ||
708 | if (of_property_read_u32(pdev->dev.of_node, "max-speed", | ||
709 | &priv->max_speed)) { | ||
710 | dev_err(&pdev->dev, "failed to retrieve <max-speed> from device tree\n"); | ||
711 | err = -EINVAL; | ||
712 | goto out; | ||
713 | } | ||
714 | |||
715 | ndev->irq = irq; | 697 | ndev->irq = irq; |
716 | dev_info(&pdev->dev, "IRQ is %d\n", ndev->irq); | 698 | dev_info(&pdev->dev, "IRQ is %d\n", ndev->irq); |
717 | 699 | ||