Messages in this thread | | | From | Andy Shevchenko <> | Date | Fri, 11 Jun 2021 14:26:26 +0300 | Subject | Re: [PATCH net-next v9 03/15] net: phy: Introduce phy related fwnode functions |
| |
On Fri, Jun 11, 2021 at 1:54 PM Ioana Ciornei <ciorneiioana@gmail.com> wrote: > > From: Calvin Johnson <calvin.johnson@oss.nxp.com> > > Define fwnode_phy_find_device() to iterate an mdiobus and find the > phy device of the provided phy fwnode. Additionally define > device_phy_find_device() to find phy device of provided device. > > Define fwnode_get_phy_node() to get phy_node using named reference.
using a named
...
> +struct fwnode_handle *fwnode_get_phy_node(struct fwnode_handle *fwnode) > +{ > + struct fwnode_handle *phy_node; > + > + /* Only phy-handle is used for ACPI */ > + phy_node = fwnode_find_reference(fwnode, "phy-handle", 0); > + if (is_acpi_node(fwnode) || !IS_ERR(phy_node)) > + return phy_node; > + phy_node = fwnode_find_reference(fwnode, "phy", 0); > + if (IS_ERR(phy_node)) > + phy_node = fwnode_find_reference(fwnode, "phy-device", 0); > + return phy_node;
Looking into the patterns in this code I would perhaps refactor it the following way:
/* First try "phy-handle" as most common in use */ phy_node = fwnode_find_reference(fwnode, "phy-handle", 0); /* Only phy-handle is used for ACPI */ if (is_acpi_node(fwnode)) return phy_node; if (!IS_ERR(phy_node)) return phy_node; /* Try "phy" reference */ phy_node = fwnode_find_reference(fwnode, "phy", 0); if (!IS_ERR(phy_node)) return phy_node; /* At last try "phy-device" reference */ return fwnode_find_reference(fwnode, "phy-device", 0);
> +}
-- With Best Regards, Andy Shevchenko
| |