diff mbox series

net: phy: micrel: Get phy node from phy-handle

Message ID 20221122144101.21048-1-jit.loon.lim@intel.com
State Changes Requested
Delegated to: Ramon Fried
Headers show
Series net: phy: micrel: Get phy node from phy-handle | expand

Commit Message

Jit Loon Lim Nov. 22, 2022, 2:41 p.m. UTC
From: Ley Foon Tan <ley.foon.tan@intel.com>

HSD #1509063521: Try to get phy node from "phy-handle" if can't find ethernet-phy subnode.
Lastly only use Ethernet node if can't find phy node from ethernet-phy
subnode and phy-handle.

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
---
 drivers/net/phy/micrel_ksz90x1.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

Comments

Ramon Fried Nov. 26, 2022, 10:50 p.m. UTC | #1
On Tue, Nov 22, 2022 at 4:41 PM Jit Loon Lim <jit.loon.lim@intel.com> wrote:
>
> From: Ley Foon Tan <ley.foon.tan@intel.com>
>
> HSD #1509063521: Try to get phy node from "phy-handle" if can't find ethernet-phy subnode.
What is this HSD ? Intel internal ?
Please remove.
> Lastly only use Ethernet node if can't find phy node from ethernet-phy
> subnode and phy-handle.
>
> Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
> Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
> ---
>  drivers/net/phy/micrel_ksz90x1.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/phy/micrel_ksz90x1.c b/drivers/net/phy/micrel_ksz90x1.c
> index e5f578201f..e33789b7f7 100644
> --- a/drivers/net/phy/micrel_ksz90x1.c
> +++ b/drivers/net/phy/micrel_ksz90x1.c
> @@ -112,6 +112,7 @@ static int ksz90x1_of_config_group(struct phy_device *phydev,
>  {
>         struct udevice *dev = phydev->dev;
>         struct phy_driver *drv = phydev->drv;
> +       struct ofnode_phandle_args phandle;
>         int val[4];
>         int i, changed = 0, offset, max;
>         u16 regval = 0;
> @@ -128,8 +129,14 @@ static int ksz90x1_of_config_group(struct phy_device *phydev,
>         }
>
>         if (!ofnode_valid(node)) {
> -               /* No node found, look in the Ethernet node */
> -               node = dev_ofnode(dev);
> +               if (dev_read_phandle_with_args(dev, "phy-handle", NULL, 0, 0,
> +                                              &phandle)) {
> +                       /* No phy-handle found, look in the Ethernet node */
> +                       node = dev_ofnode(dev);
> +               } else {
> +                       /* phy-handle found */
> +                       node = phandle.node;
> +               }
>         }
>
>         for (i = 0; i < ofcfg->grpsz; i++) {
> --
> 2.26.2
>
Jit Loon Lim Nov. 28, 2022, 1:45 a.m. UTC | #2
-----Original Message-----
From: Ramon Fried <rfried.dev@gmail.com> 
Sent: Sunday, 27 November, 2022 6:50 AM
To: Lim, Jit Loon <jit.loon.lim@intel.com>
Cc: u-boot@lists.denx.de; Jagan Teki <jagan@amarulasolutions.com>; Vignesh R <vigneshr@ti.com>; Vasut, Marek <marex@denx.de>; Simon <simon.k.r.goldschmidt@gmail.com>; Chee, Tien Fong <tien.fong.chee@intel.com>; Hea, Kok Kiang <kok.kiang.hea@intel.com>; Lim, Elly Siew Chin <elly.siew.chin.lim@intel.com>; Kho, Sin Hui <sin.hui.kho@intel.com>; Lokanathan, Raaj <raaj.lokanathan@intel.com>; Maniyam, Dinesh <dinesh.maniyam@intel.com>; Ng, Boon Khai <boon.khai.ng@intel.com>; Yuslaimi, Alif Zakuan <alif.zakuan.yuslaimi@intel.com>; Chong, Teik Heng <teik.heng.chong@intel.com>; Zamri, Muhammad Hazim Izzat <muhammad.hazim.izzat.zamri@intel.com>; Tang, Sieu Mun <sieu.mun.tang@intel.com>; Ley Foon Tan <ley.foon.tan@intel.com>
Subject: Re: [PATCH] net: phy: micrel: Get phy node from phy-handle

On Tue, Nov 22, 2022 at 4:41 PM Jit Loon Lim <jit.loon.lim@intel.com> wrote:
>
> From: Ley Foon Tan <ley.foon.tan@intel.com>
>
> HSD #1509063521: Try to get phy node from "phy-handle" if can't find ethernet-phy subnode.
What is this HSD ? Intel internal ?
Please remove.

Yes, this is for Intel internal tracking. We shall remove it and update the patch. 

> Lastly only use Ethernet node if can't find phy node from ethernet-phy 
> subnode and phy-handle.
>
> Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
> Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
> ---
>  drivers/net/phy/micrel_ksz90x1.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/phy/micrel_ksz90x1.c 
> b/drivers/net/phy/micrel_ksz90x1.c
> index e5f578201f..e33789b7f7 100644
> --- a/drivers/net/phy/micrel_ksz90x1.c
> +++ b/drivers/net/phy/micrel_ksz90x1.c
> @@ -112,6 +112,7 @@ static int ksz90x1_of_config_group(struct 
> phy_device *phydev,  {
>         struct udevice *dev = phydev->dev;
>         struct phy_driver *drv = phydev->drv;
> +       struct ofnode_phandle_args phandle;
>         int val[4];
>         int i, changed = 0, offset, max;
>         u16 regval = 0;
> @@ -128,8 +129,14 @@ static int ksz90x1_of_config_group(struct phy_device *phydev,
>         }
>
>         if (!ofnode_valid(node)) {
> -               /* No node found, look in the Ethernet node */
> -               node = dev_ofnode(dev);
> +               if (dev_read_phandle_with_args(dev, "phy-handle", NULL, 0, 0,
> +                                              &phandle)) {
> +                       /* No phy-handle found, look in the Ethernet node */
> +                       node = dev_ofnode(dev);
> +               } else {
> +                       /* phy-handle found */
> +                       node = phandle.node;
> +               }
>         }
>
>         for (i = 0; i < ofcfg->grpsz; i++) {
> --
> 2.26.2
>
diff mbox series

Patch

diff --git a/drivers/net/phy/micrel_ksz90x1.c b/drivers/net/phy/micrel_ksz90x1.c
index e5f578201f..e33789b7f7 100644
--- a/drivers/net/phy/micrel_ksz90x1.c
+++ b/drivers/net/phy/micrel_ksz90x1.c
@@ -112,6 +112,7 @@  static int ksz90x1_of_config_group(struct phy_device *phydev,
 {
 	struct udevice *dev = phydev->dev;
 	struct phy_driver *drv = phydev->drv;
+	struct ofnode_phandle_args phandle;
 	int val[4];
 	int i, changed = 0, offset, max;
 	u16 regval = 0;
@@ -128,8 +129,14 @@  static int ksz90x1_of_config_group(struct phy_device *phydev,
 	}
 
 	if (!ofnode_valid(node)) {
-		/* No node found, look in the Ethernet node */
-		node = dev_ofnode(dev);
+		if (dev_read_phandle_with_args(dev, "phy-handle", NULL, 0, 0,
+					       &phandle)) {
+			/* No phy-handle found, look in the Ethernet node */
+			node = dev_ofnode(dev);
+		} else {
+			/* phy-handle found */
+			node = phandle.node;
+		}
 	}
 
 	for (i = 0; i < ofcfg->grpsz; i++) {