Commit f9b12490 authored by Guenter Roeck's avatar Guenter Roeck Committed by David S. Miller

net/cadence/at91_ether: Simplify OF dependencies

With of_get_mac_address() and of_get_phy_mode() now defined as dummy
functions if OF_NET is not configured, it is no longer necessary to
provide OF dependent functions as front-end. Also, the two functions
depend on OF_NET, not on OF, so the conditional code was not correct
anyway.

Drop the front-end functions and call of_get_mac_address() and
of_get_phy_mode() directly instead.
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 65b3841b
...@@ -299,42 +299,7 @@ static const struct of_device_id at91ether_dt_ids[] = { ...@@ -299,42 +299,7 @@ static const struct of_device_id at91ether_dt_ids[] = {
{ .compatible = "cdns,emac" }, { .compatible = "cdns,emac" },
{ /* sentinel */ } { /* sentinel */ }
}; };
MODULE_DEVICE_TABLE(of, at91ether_dt_ids); MODULE_DEVICE_TABLE(of, at91ether_dt_ids);
static int at91ether_get_phy_mode_dt(struct platform_device *pdev)
{
struct device_node *np = pdev->dev.of_node;
if (np)
return of_get_phy_mode(np);
return -ENODEV;
}
static int at91ether_get_hwaddr_dt(struct macb *bp)
{
struct device_node *np = bp->pdev->dev.of_node;
if (np) {
const char *mac = of_get_mac_address(np);
if (mac) {
memcpy(bp->dev->dev_addr, mac, ETH_ALEN);
return 0;
}
}
return -ENODEV;
}
#else
static int at91ether_get_phy_mode_dt(struct platform_device *pdev)
{
return -ENODEV;
}
static int at91ether_get_hwaddr_dt(struct macb *bp)
{
return -ENODEV;
}
#endif #endif
/* Detect MAC & PHY and perform ethernet interface initialization */ /* Detect MAC & PHY and perform ethernet interface initialization */
...@@ -348,6 +313,7 @@ static int __init at91ether_probe(struct platform_device *pdev) ...@@ -348,6 +313,7 @@ static int __init at91ether_probe(struct platform_device *pdev)
struct macb *lp; struct macb *lp;
int res; int res;
u32 reg; u32 reg;
const char *mac;
regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!regs) if (!regs)
...@@ -399,11 +365,13 @@ static int __init at91ether_probe(struct platform_device *pdev) ...@@ -399,11 +365,13 @@ static int __init at91ether_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, dev); platform_set_drvdata(pdev, dev);
SET_NETDEV_DEV(dev, &pdev->dev); SET_NETDEV_DEV(dev, &pdev->dev);
res = at91ether_get_hwaddr_dt(lp); mac = of_get_mac_address(pdev->dev.of_node);
if (res < 0) if (mac)
memcpy(lp->dev->dev_addr, mac, ETH_ALEN);
else
macb_get_hwaddr(lp); macb_get_hwaddr(lp);
res = at91ether_get_phy_mode_dt(pdev); res = of_get_phy_mode(pdev->dev.of_node);
if (res < 0) { if (res < 0) {
if (board_data && board_data->is_rmii) if (board_data && board_data->is_rmii)
lp->phy_interface = PHY_INTERFACE_MODE_RMII; lp->phy_interface = PHY_INTERFACE_MODE_RMII;
......
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