ravb: Add fixed-link support

This patch adds support of the fixed PHY.
This patch is based on commit 87009814cd ("ucc_geth: use the new fixed
PHY helpers").

Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Kazuya Mizuguchi 2015-12-15 19:44:13 +09:00 committed by David S. Miller
parent a7159a3ff4
commit b4bc88a868
1 changed files with 12 additions and 0 deletions

View File

@ -882,6 +882,7 @@ static int ravb_phy_init(struct net_device *ndev)
struct ravb_private *priv = netdev_priv(ndev); struct ravb_private *priv = netdev_priv(ndev);
struct phy_device *phydev; struct phy_device *phydev;
struct device_node *pn; struct device_node *pn;
int err;
priv->link = 0; priv->link = 0;
priv->speed = 0; priv->speed = 0;
@ -889,6 +890,17 @@ static int ravb_phy_init(struct net_device *ndev)
/* Try connecting to PHY */ /* Try connecting to PHY */
pn = of_parse_phandle(np, "phy-handle", 0); pn = of_parse_phandle(np, "phy-handle", 0);
if (!pn) {
/* In the case of a fixed PHY, the DT node associated
* to the PHY is the Ethernet MAC DT node.
*/
if (of_phy_is_fixed_link(np)) {
err = of_phy_register_fixed_link(np);
if (err)
return err;
}
pn = of_node_get(np);
}
phydev = of_phy_connect(ndev, pn, ravb_adjust_link, 0, phydev = of_phy_connect(ndev, pn, ravb_adjust_link, 0,
priv->phy_interface); priv->phy_interface);
if (!phydev) { if (!phydev) {