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

Commit f7af25a6 authored by Petr Štetiar's avatar Petr Štetiar Committed by David S. Miller
Browse files

net: davinci: support of_get_mac_address new ERR_PTR error



There was NVMEM support added directly to of_get_mac_address, and it uses
nvmem_get_mac_address under the hood, so we can remove it. As
of_get_mac_address can now return ERR_PTR encoded error values, adjust to
that as well.

Signed-off-by: default avatarPetr Štetiar <ynezz@true.cz>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 541ddc66
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -1700,7 +1700,7 @@ davinci_emac_of_get_pdata(struct platform_device *pdev, struct emac_priv *priv)

	if (!is_valid_ether_addr(pdata->mac_addr)) {
		mac_addr = of_get_mac_address(np);
		if (mac_addr)
		if (!IS_ERR(mac_addr))
			ether_addr_copy(pdata->mac_addr, mac_addr);
	}

@@ -1898,16 +1898,12 @@ static int davinci_emac_probe(struct platform_device *pdev)
		ether_addr_copy(ndev->dev_addr, priv->mac_addr);

	if (!is_valid_ether_addr(priv->mac_addr)) {
		/* Try nvmem if MAC wasn't passed over pdata or DT. */
		rc = nvmem_get_mac_address(&pdev->dev, priv->mac_addr);
		if (rc) {
		/* Use random MAC if still none obtained. */
		eth_hw_addr_random(ndev);
		memcpy(priv->mac_addr, ndev->dev_addr, ndev->addr_len);
		dev_warn(&pdev->dev, "using random MAC addr: %pM\n",
			 priv->mac_addr);
	}
	}

	ndev->netdev_ops = &emac_netdev_ops;
	ndev->ethtool_ops = &ethtool_ops;