Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -122,7 +122,6 @@ struct buffer_state {
 * @link:	PHY's last seen link state.
 * @duplex:	PHY's last set duplex mode.
 * @speed:	PHY's last set speed.
 * @max_speed:	Maximum supported by current system network data-rate.
 */
struct arc_emac_priv {
	/* Devices */
@@ -152,7 +151,6 @@ struct arc_emac_priv {
	unsigned int link;
	unsigned int duplex;
	unsigned int speed;
	unsigned int max_speed;
};

/**
+1 −19
Original line number Diff line number Diff line
@@ -381,17 +381,7 @@ static int arc_emac_open(struct net_device *ndev)
	phy_dev->autoneg = AUTONEG_ENABLE;
	phy_dev->speed = 0;
	phy_dev->duplex = 0;
	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;
		}
	}
	phy_dev->advertising &= phy_dev->supported;

	priv->last_rx_bd = 0;

@@ -704,14 +694,6 @@ static int arc_emac_probe(struct platform_device *pdev)
	/* Set poll rate so that it polls every 1 ms */
	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;
	dev_info(&pdev->dev, "IRQ is %d\n", ndev->irq);