OSDN Git Service

phy: ti-pipe3: Don't get 'wkupclk' and 'refclk' for SATA PHY
authorRoger Quadros <rogerq@ti.com>
Thu, 6 Mar 2014 14:38:42 +0000 (16:38 +0200)
committerKishon Vijay Abraham I <kishon@ti.com>
Sun, 9 Mar 2014 07:15:10 +0000 (12:45 +0530)
SATA PHY doesn't need 'wkupclk; and 'refclk' so don't
try to get them for SATA PHY.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/phy/phy-ti-pipe3.c

index f141237..baa3f78 100644 (file)
@@ -294,16 +294,22 @@ static int ti_pipe3_probe(struct platform_device *pdev)
 
        phy->dev                = &pdev->dev;
 
-       phy->wkupclk = devm_clk_get(phy->dev, "wkupclk");
-       if (IS_ERR(phy->wkupclk)) {
-               dev_err(&pdev->dev, "unable to get wkupclk\n");
-               return PTR_ERR(phy->wkupclk);
-       }
+       if (!of_device_is_compatible(node, "ti,phy-pipe3-sata")) {
+
+               phy->wkupclk = devm_clk_get(phy->dev, "wkupclk");
+               if (IS_ERR(phy->wkupclk)) {
+                       dev_err(&pdev->dev, "unable to get wkupclk\n");
+                       return PTR_ERR(phy->wkupclk);
+               }
 
-       phy->refclk = devm_clk_get(phy->dev, "refclk");
-       if (IS_ERR(phy->refclk)) {
-               dev_err(&pdev->dev, "unable to get refclk\n");
-               return PTR_ERR(phy->refclk);
+               phy->refclk = devm_clk_get(phy->dev, "refclk");
+               if (IS_ERR(phy->refclk)) {
+                       dev_err(&pdev->dev, "unable to get refclk\n");
+                       return PTR_ERR(phy->refclk);
+               }
+       } else {
+               phy->wkupclk = ERR_PTR(-ENODEV);
+               phy->refclk = ERR_PTR(-ENODEV);
        }
 
        phy->sys_clk = devm_clk_get(phy->dev, "sysclk");