Commit b0ac9564 authored by Florian Fainelli's avatar Florian Fainelli Committed by David S. Miller

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: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8fdade4b
...@@ -122,7 +122,6 @@ struct buffer_state { ...@@ -122,7 +122,6 @@ struct buffer_state {
* @link: PHY's last seen link state. * @link: PHY's last seen link state.
* @duplex: PHY's last set duplex mode. * @duplex: PHY's last set duplex mode.
* @speed: PHY's last set speed. * @speed: PHY's last set speed.
* @max_speed: Maximum supported by current system network data-rate.
*/ */
struct arc_emac_priv { struct arc_emac_priv {
/* Devices */ /* Devices */
...@@ -152,7 +151,6 @@ struct arc_emac_priv { ...@@ -152,7 +151,6 @@ struct arc_emac_priv {
unsigned int link; unsigned int link;
unsigned int duplex; unsigned int duplex;
unsigned int speed; unsigned int speed;
unsigned int max_speed;
}; };
/** /**
......
...@@ -381,17 +381,7 @@ static int arc_emac_open(struct net_device *ndev) ...@@ -381,17 +381,7 @@ static int arc_emac_open(struct net_device *ndev)
phy_dev->autoneg = AUTONEG_ENABLE; phy_dev->autoneg = AUTONEG_ENABLE;
phy_dev->speed = 0; phy_dev->speed = 0;
phy_dev->duplex = 0; phy_dev->duplex = 0;
phy_dev->advertising = phy_dev->supported; phy_dev->advertising &= phy_dev->supported;
if (priv->max_speed > 100) {
phy_dev->advertising &= PHY_GBIT_FEATURES;
} else if (priv->max_speed <= 100) {
phy_dev->advertising &= PHY_BASIC_FEATURES;
if (priv->max_speed <= 10) {
phy_dev->advertising &= ~SUPPORTED_100baseT_Half;
phy_dev->advertising &= ~SUPPORTED_100baseT_Full;
}
}
priv->last_rx_bd = 0; priv->last_rx_bd = 0;
...@@ -704,14 +694,6 @@ static int arc_emac_probe(struct platform_device *pdev) ...@@ -704,14 +694,6 @@ static int arc_emac_probe(struct platform_device *pdev)
/* Set poll rate so that it polls every 1 ms */ /* Set poll rate so that it polls every 1 ms */
arc_reg_set(priv, R_POLLRATE, clock_frequency / 1000000); arc_reg_set(priv, R_POLLRATE, clock_frequency / 1000000);
/* Get max speed of operation from device tree */
if (of_property_read_u32(pdev->dev.of_node, "max-speed",
&priv->max_speed)) {
dev_err(&pdev->dev, "failed to retrieve <max-speed> from device tree\n");
err = -EINVAL;
goto out;
}
ndev->irq = irq; ndev->irq = irq;
dev_info(&pdev->dev, "IRQ is %d\n", ndev->irq); dev_info(&pdev->dev, "IRQ is %d\n", ndev->irq);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment