Skip to content

Commit

Permalink
net/cadence/macb: Simplify OF dependencies
Browse files Browse the repository at this point in the history
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: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Guenter Roeck authored and David S. Miller committed Apr 2, 2013
1 parent f9b1249 commit 5090704
Showing 1 changed file with 6 additions and 37 deletions.
43 changes: 6 additions & 37 deletions drivers/net/ethernet/cadence/macb.c
Original file line number Diff line number Diff line change
Expand Up @@ -1476,41 +1476,7 @@ static const struct of_device_id macb_dt_ids[] = {
{ .compatible = "cdns,gem" },
{ /* sentinel */ }
};

MODULE_DEVICE_TABLE(of, macb_dt_ids);

static int macb_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 macb_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 macb_get_phy_mode_dt(struct platform_device *pdev)
{
return -ENODEV;
}
static int macb_get_hwaddr_dt(struct macb *bp)
{
return -ENODEV;
}
#endif

static int __init macb_probe(struct platform_device *pdev)
Expand All @@ -1523,6 +1489,7 @@ static int __init macb_probe(struct platform_device *pdev)
u32 config;
int err = -ENXIO;
struct pinctrl *pinctrl;
const char *mac;

regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!regs) {
Expand Down Expand Up @@ -1596,11 +1563,13 @@ static int __init macb_probe(struct platform_device *pdev)
config |= macb_dbw(bp);
macb_writel(bp, NCFGR, config);

err = macb_get_hwaddr_dt(bp);
if (err < 0)
mac = of_get_mac_address(pdev->dev.of_node);
if (mac)
memcpy(bp->dev->dev_addr, mac, ETH_ALEN);
else
macb_get_hwaddr(bp);

err = macb_get_phy_mode_dt(pdev);
err = of_get_phy_mode(pdev->dev.of_node);
if (err < 0) {
pdata = pdev->dev.platform_data;
if (pdata && pdata->is_rmii)
Expand Down

0 comments on commit 5090704

Please sign in to comment.