phy: omap-usb2: Use generic clock names "wkupclk" and "refclk"
authorRoger Quadros <rogerq@ti.com>
Mon, 5 May 2014 09:54:40 +0000 (12:54 +0300)
committerKishon Vijay Abraham I <kishon@ti.com>
Thu, 8 May 2014 13:52:16 +0000 (19:22 +0530)
As clocks might be named differently on multiple platforms, use a generic
name in the driver and allow device tree node to specify the platform
specific clock name.

Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/phy/phy-omap-usb2.c

index a2205a841e5e37266594692f2bb12f35f6321bf0..7007c11fe07d94bc69a811fff1a057c1d8363eef 100644 (file)
@@ -275,18 +275,34 @@ static int omap_usb2_probe(struct platform_device *pdev)
        if (IS_ERR(phy_provider))
                return PTR_ERR(phy_provider);
 
-       phy->wkupclk = devm_clk_get(phy->dev, "usb_phy_cm_clk32k");
+       phy->wkupclk = devm_clk_get(phy->dev, "wkupclk");
        if (IS_ERR(phy->wkupclk)) {
-               dev_err(&pdev->dev, "unable to get usb_phy_cm_clk32k\n");
-               return PTR_ERR(phy->wkupclk);
+               dev_warn(&pdev->dev, "unable to get wkupclk, trying old name\n");
+               phy->wkupclk = devm_clk_get(phy->dev, "usb_phy_cm_clk32k");
+               if (IS_ERR(phy->wkupclk)) {
+                       dev_err(&pdev->dev, "unable to get usb_phy_cm_clk32k\n");
+                       return PTR_ERR(phy->wkupclk);
+               } else {
+                       dev_warn(&pdev->dev,
+                                "found usb_phy_cm_clk32k, please fix DTS\n");
+               }
        }
        clk_prepare(phy->wkupclk);
 
-       phy->optclk = devm_clk_get(phy->dev, "usb_otg_ss_refclk960m");
-       if (IS_ERR(phy->optclk))
-               dev_vdbg(&pdev->dev, "unable to get refclk960m\n");
-       else
+       phy->optclk = devm_clk_get(phy->dev, "refclk");
+       if (IS_ERR(phy->optclk)) {
+               dev_dbg(&pdev->dev, "unable to get refclk, trying old name\n");
+               phy->optclk = devm_clk_get(phy->dev, "usb_otg_ss_refclk960m");
+               if (IS_ERR(phy->optclk)) {
+                       dev_dbg(&pdev->dev,
+                               "unable to get usb_otg_ss_refclk960m\n");
+               } else {
+                       dev_warn(&pdev->dev,
+                                "found usb_otg_ss_refclk960m, please fix DTS\n");
+               }
+       } else {
                clk_prepare(phy->optclk);
+       }
 
        usb_add_phy_dev(&phy->phy);