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: Guenter Roeck <linux@roeck-us.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
65b3841b9c
Коммит
f9b124901c
|
@ -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)
|
||||||
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)
|
||||||
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;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче