phy: ti: gmii-sel: Allow parent to not be syscon node
authorAndrew Davis <afd@ti.com>
Thu, 13 Jul 2023 20:09:57 +0000 (15:09 -0500)
committerVinod Koul <vkoul@kernel.org>
Fri, 14 Jul 2023 12:54:31 +0000 (18:24 +0530)
If the parent node is not a syscon type, then fallback and check
if we can get a regmap from our own node. This no longer forces
us to make the parent of this node a syscon node when that might
not be appropriate.

Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Roger Quadros <rogerq@ti.com>
Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Link: https://lore.kernel.org/r/20230713200957.134480-1-afd@ti.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/ti/phy-gmii-sel.c

index 6286cf2..555b323 100644 (file)
@@ -465,9 +465,12 @@ static int phy_gmii_sel_probe(struct platform_device *pdev)
 
        priv->regmap = syscon_node_to_regmap(node->parent);
        if (IS_ERR(priv->regmap)) {
-               ret = PTR_ERR(priv->regmap);
-               dev_err(dev, "Failed to get syscon %d\n", ret);
-               return ret;
+               priv->regmap = device_node_to_regmap(node);
+               if (IS_ERR(priv->regmap)) {
+                       ret = PTR_ERR(priv->regmap);
+                       dev_err(dev, "Failed to get syscon %d\n", ret);
+                       return ret;
+               }
        }
 
        ret = phy_gmii_sel_init_ports(priv);