Message ID | 1450019810-324-1-git-send-email-ykaneko0929@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Simon Horman |
Headers | show |
Hello. On 12/13/2015 06:16 PM, Yoshihiro Kaneko wrote: > From: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com> > > This patch adds support of the fixed PHY. > This patch is based on commit 87009814cdbb ("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> > --- > > This patch is based on the master branch of David Miller's next networking > tree. > > drivers/net/ethernet/renesas/ravb_main.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c > index 1cf1226..300acb3 100644 > --- a/drivers/net/ethernet/renesas/ravb_main.c > +++ b/drivers/net/ethernet/renesas/ravb_main.c [...] > @@ -887,6 +888,17 @@ static int ravb_phy_init(struct net_device *ndev) > > /* Try connecting to PHY */ > 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 = np; I'm seeing that other drivers call of_node_get() here, why don't you? [...] MBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi, 2015-12-14 6:00 GMT+09:00 Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>: > Hello. > > On 12/13/2015 06:16 PM, Yoshihiro Kaneko wrote: > >> From: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com> >> >> This patch adds support of the fixed PHY. >> This patch is based on commit 87009814cdbb ("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> >> --- >> >> This patch is based on the master branch of David Miller's next networking >> tree. >> >> drivers/net/ethernet/renesas/ravb_main.c | 12 ++++++++++++ >> 1 file changed, 12 insertions(+) >> >> diff --git a/drivers/net/ethernet/renesas/ravb_main.c >> b/drivers/net/ethernet/renesas/ravb_main.c >> index 1cf1226..300acb3 100644 >> --- a/drivers/net/ethernet/renesas/ravb_main.c >> +++ b/drivers/net/ethernet/renesas/ravb_main.c > > [...] >> >> @@ -887,6 +888,17 @@ static int ravb_phy_init(struct net_device *ndev) >> >> /* Try connecting to PHY */ >> 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 = np; > > > I'm seeing that other drivers call of_node_get() here, why don't you? Thanks. I sent v2. > > [...] > > MBR, Sergei > Thanks, kaneko -- To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c index 1cf1226..300acb3 100644 --- a/drivers/net/ethernet/renesas/ravb_main.c +++ b/drivers/net/ethernet/renesas/ravb_main.c @@ -880,6 +880,7 @@ static int ravb_phy_init(struct net_device *ndev) struct ravb_private *priv = netdev_priv(ndev); struct phy_device *phydev; struct device_node *pn; + int err; priv->link = 0; priv->speed = 0; @@ -887,6 +888,17 @@ static int ravb_phy_init(struct net_device *ndev) /* Try connecting to PHY */ 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 = np; + } phydev = of_phy_connect(ndev, pn, ravb_adjust_link, 0, priv->phy_interface); if (!phydev) {