On 01/10/2020 05:00, Calvin Johnson wrote:
On Wed, Sep 30, 2020 at 08:19:02PM +0200, Andrew Lunn wrote:
On Wed, Sep 30, 2020 at 07:07:25PM +0100, Russell King - ARM Linux admin wrote:
On Wed, Sep 30, 2020 at 06:34:40PM +0200, Andrew Lunn wrote:
@@ -2866,7 +2888,15 @@ EXPORT_SYMBOL_GPL(device_phy_find_device);
   */
  struct fwnode_handle *fwnode_get_phy_node(struct fwnode_handle *fwnode)
  {
-       return fwnode_find_reference(fwnode, "phy-handle", 0);
+       struct fwnode_handle *phy_node;
+
+       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;

Why do you have three different ways to reference a PHY?

Compatibility with the DT version - note that "phy" and "phy-device"
are only used for non-ACPI fwnodes. This should allow us to convert
drivers where necessary without fear of causing DT regressions.

Ah.

A comment would be good here.

Sure. Will add comment.

Actually, I agree with Andrew. I don't see why new properties are being defined for following a reference from a property to a PHY node. This function shouldn't need to change at all.

g.

Reply via email to