RE: [PATCH] net: macb: add phy-handle support for the macb

2016-08-19 Thread Appana Durga Kedareswara Rao
Hi Andrew,

Thanks for the review...

> 
> > Agree with you my intention is if there is a MDIO bus on the
> > device-tree The MAC driver should create PHY/MDIO devices using
> of_mdiobus_register().
> 
> What you suggest is better, and is similar to what other drivers use.
> 
> In order to keep backwards compatibility with phy nodes in the MAC node, you
> have to do of_mdiobus_register() with the MAC node. However, please change
> the binding documentation to say this is deprecated, all phy nodes should be
> placed inside an mdio node.
> 
> Using some better variable names would also help. mac_np and mdio_np for
> example.

Ok sure will post v2 as you suggested...

Regards,
Kedar.



Re: [PATCH] net: macb: add phy-handle support for the macb

2016-08-16 Thread Andrew Lunn
> Agree with you my intention is if there is a MDIO bus on the device-tree
> The MAC driver should create PHY/MDIO devices using of_mdiobus_register().

What you suggest is better, and is similar to what other drivers use.

In order to keep backwards compatibility with phy nodes in the MAC
node, you have to do of_mdiobus_register() with the MAC node. However,
please change the binding documentation to say this is deprecated, all
phy nodes should be placed inside an mdio node.

Using some better variable names would also help. mac_np and mdio_np
for example.

Andrew

> 
> How about below code...
> 
> -   struct device_node *np;
> +   struct device_node *np, *np1;
> int err = -ENXIO, i;
>  
> /* Enable management port */
> @@ -445,7 +445,14 @@ static int macb_mii_init(struct macb *bp)
> dev_set_drvdata(>dev->dev, bp->mii_bus);
>  
> np = bp->pdev->dev.of_node;
> -   if (np) {
> +   np1 = of_get_child_by_name(np, "mdio");
> +   if (np1) {
> +   of_node_put(np1);
> +   err = of_mdiobus_register(bp->mii_bus, np1);
> +   if (err)
> +   goto err_out_unregister_bus;
> +   } else if (np) {
> /* try dt phy registration */
> err = of_mdiobus_register(bp->mii_bus, np);
> 
> If you are ok with the above code please let me know will post it as v2...
> 
> Regards,
> Kedar.


RE: [PATCH] net: macb: add phy-handle support for the macb

2016-08-16 Thread Appana Durga Kedareswara Rao
Hi David Miller,

Thanks for the review...

> 
> From: Kedareswara rao Appana 
> Date: Sat, 13 Aug 2016 15:31:49 +0530
> 
> > @@ -445,7 +445,13 @@ static int macb_mii_init(struct macb *bp)
> > dev_set_drvdata(>dev->dev, bp->mii_bus);
> >
> > np = bp->pdev->dev.of_node;
> > -   if (np) {
> > +   np1 = of_get_parent(bp->phy_node);
> > +   if (np1) {
> > +   of_node_put(np1);
> > +   err = of_mdiobus_register(bp->mii_bus, np1);
> > +   if (err)
> > +   goto err_out_unregister_bus;
> > +   } else if (np) {
> 
> I don't know about this, all OF nodes other than the root have a parent node
> which is non-NULL.  This parent node can be anything.
> 
> Just blinding assuming that any parent node of the phy_node is what we are
> looking for, without any other supplementary checks at all, seems to be asking
> for trouble at the very least.

Agree with you my intention is if there is a MDIO bus on the device-tree
The MAC driver should create PHY/MDIO devices using of_mdiobus_register().

How about below code...

-   struct device_node *np;
+   struct device_node *np, *np1;
int err = -ENXIO, i;
 
/* Enable management port */
@@ -445,7 +445,14 @@ static int macb_mii_init(struct macb *bp)
dev_set_drvdata(>dev->dev, bp->mii_bus);
 
np = bp->pdev->dev.of_node;
-   if (np) {
+   np1 = of_get_child_by_name(np, "mdio");
+   if (np1) {
+   of_node_put(np1);
+   err = of_mdiobus_register(bp->mii_bus, np1);
+   if (err)
+   goto err_out_unregister_bus;
+   } else if (np) {
/* try dt phy registration */
err = of_mdiobus_register(bp->mii_bus, np);

If you are ok with the above code please let me know will post it as v2...

Regards,
Kedar.


Re: [PATCH] net: macb: add phy-handle support for the macb

2016-08-14 Thread David Miller
From: Kedareswara rao Appana 
Date: Sat, 13 Aug 2016 15:31:49 +0530

> @@ -445,7 +445,13 @@ static int macb_mii_init(struct macb *bp)
>   dev_set_drvdata(>dev->dev, bp->mii_bus);
>  
>   np = bp->pdev->dev.of_node;
> - if (np) {
> + np1 = of_get_parent(bp->phy_node);
> + if (np1) {
> + of_node_put(np1);
> + err = of_mdiobus_register(bp->mii_bus, np1);
> + if (err)
> + goto err_out_unregister_bus;
> + } else if (np) {

I don't know about this, all OF nodes other than the root have a
parent node which is non-NULL.  This parent node can be anything.

Just blinding assuming that any parent node of the phy_node is
what we are looking for, without any other supplementary checks
at all, seems to be asking for trouble at the very least.