drivers: net: xgene: Fix backward compatibility
This patch fixes the backward compatibility on handling phy_connect(), by iterating over the phy-handle, when new DT is used with older kernel. Signed-off-by: Iyappan Subramanian <isubramanian@apm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c50fc2622c
commit
03377e381b
@ -761,18 +761,18 @@ int xgene_enet_phy_connect(struct net_device *ndev)
|
|||||||
if (dev->of_node) {
|
if (dev->of_node) {
|
||||||
for (i = 0 ; i < 2; i++) {
|
for (i = 0 ; i < 2; i++) {
|
||||||
np = of_parse_phandle(dev->of_node, "phy-handle", i);
|
np = of_parse_phandle(dev->of_node, "phy-handle", i);
|
||||||
if (np)
|
|
||||||
|
if (!np)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
phy_dev = of_phy_connect(ndev, np,
|
||||||
|
&xgene_enet_adjust_link,
|
||||||
|
0, pdata->phy_mode);
|
||||||
|
of_node_put(np);
|
||||||
|
if (phy_dev)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!np) {
|
|
||||||
netdev_dbg(ndev, "No phy-handle found in DT\n");
|
|
||||||
return -ENODEV;
|
|
||||||
}
|
|
||||||
|
|
||||||
phy_dev = of_phy_connect(ndev, np, &xgene_enet_adjust_link,
|
|
||||||
0, pdata->phy_mode);
|
|
||||||
of_node_put(np);
|
|
||||||
if (!phy_dev) {
|
if (!phy_dev) {
|
||||||
netdev_err(ndev, "Could not connect to PHY\n");
|
netdev_err(ndev, "Could not connect to PHY\n");
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user