phy: cadence-torrent: Enable support for multiple subnodes
authorSwapnil Jakhade <sjakhade@cadence.com>
Wed, 16 Sep 2020 18:28:27 +0000 (20:28 +0200)
committerVinod Koul <vkoul@kernel.org>
Fri, 18 Sep 2020 05:04:47 +0000 (10:34 +0530)
Enable support for multiple subnodes in torrent PHY to
include multi-link combinations.

Signed-off-by: Swapnil Jakhade <sjakhade@cadence.com>
Link: https://lore.kernel.org/r/1600280911-9214-4-git-send-email-sjakhade@cadence.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/cadence/phy-cadence-torrent.c

index bd8656dfc919e2b5447693f240a0ebe2aa4b34a7..966aeec8ec063d05d81338c7d27bfcbc8f1bd0b1 100644 (file)
@@ -1746,9 +1746,6 @@ static int cdns_torrent_phy_probe(struct platform_device *pdev)
        if (subnodes == 0) {
                dev_err(dev, "No available link subnodes found\n");
                return -EINVAL;
-       } else if (subnodes != 1) {
-               dev_err(dev, "Driver supports only one link subnode.\n");
-               return -EINVAL;
        }
 
        for_each_available_child_of_node(dev->of_node, child) {
@@ -1771,14 +1768,6 @@ static int cdns_torrent_phy_probe(struct platform_device *pdev)
                        goto put_child;
                }
 
-               if (cdns_phy->phys[node].mlane != 0) {
-                       dev_err(dev,
-                               "%s: Driver supports only lane-0 as master lane.\n",
-                               child->full_name);
-                       ret = -EINVAL;
-                       goto put_child;
-               }
-
                if (of_property_read_u32(child, "cdns,phy-type",
                                         &cdns_phy->phys[node].phy_type)) {
                        dev_err(dev, "%s: No \"cdns,phy-type\"-property.\n",
@@ -1849,10 +1838,6 @@ static int cdns_torrent_phy_probe(struct platform_device *pdev)
                        gphy->attrs.bus_width = cdns_phy->phys[node].num_lanes;
                        gphy->attrs.max_link_rate = cdns_phy->max_bit_rate;
                        gphy->attrs.mode = PHY_MODE_DP;
-               } else {
-                       dev_err(dev, "Driver supports only PHY_TYPE_DP\n");
-                       ret = -ENOTSUPP;
-                       goto put_child;
                }
                cdns_phy->phys[node].phy = gphy;
                phy_set_drvdata(gphy, &cdns_phy->phys[node]);