Hello!

On 1/12/2018 8:51 AM, Benjamin Herrenschmidt wrote:

The Aspeed SoCs use uhci-platform. With the new dynamic clock
control framework, the corresponding IP block clock must be
properly enabled.

This is a simplified variant of what ehci-platform does, it
looks for *one* clock attached to the device, and if it's
there, enables it.

Signed-off-by: Benjamin Herrenschmidt <[email protected]>
[...]
diff --git a/drivers/usb/host/uhci-platform.c b/drivers/usb/host/uhci-platform.c
index 6cb16d4b2257..7d959071f92b 100644
--- a/drivers/usb/host/uhci-platform.c
+++ b/drivers/usb/host/uhci-platform.c
@@ -119,6 +119,21 @@ static int uhci_hcd_platform_probe(struct platform_device 
*pdev)
                                 "Enabled Aspeed implementation workarounds\n");
                }
        }
+
+       /* Get and enable clock if any specified */
+       uhci->clk = devm_clk_get(&pdev->dev, NULL);
+        if (IS_ERR(uhci->clk)) {
+                ret = PTR_ERR(uhci->clk);
+                goto err_rmr;
+        }

   Indent with tabs as elsewhere, please.

+       if (uhci->clk) {
+               ret = clk_prepare_enable(uhci->clk);
+               if (ret) {
+                       dev_err(&pdev->dev, "Error couldn't enable clock 
(%d)\n", ret);
+                       goto err_rmr;
+               }
+        }
+
        ret = usb_add_hcd(hcd, pdev->resource[1].start, IRQF_SHARED);
        if (ret)
                goto err_rmr;

[...]

MBR, Segei
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to