drm/msm/dsi: Don't get byte/pixel source clocks from DT
authorArchit Taneja <architt@codeaurora.org>
Mon, 30 Nov 2015 12:17:17 +0000 (17:47 +0530)
committerRob Clark <robdclark@gmail.com>
Mon, 14 Dec 2015 15:39:59 +0000 (10:39 -0500)
We retrieve the byte and pixel source clocks (RCG clocks) in the dsi
driver via DT. These are needed so that we can re-parent these source
clocks if we want to drive it using a different DSI PLL.

We shouldn't get these via DT because they aren't clocks that directly
serve as inputs to the dsi host.

Fortunately, there is a static parent-child link between the
byte_clk_src/pixel_clk_src and byte_clk/pixel_clk clocks. So, we can
retrieve the source clocks via clk_get_parent.

Do this instead of retrieving via DT.

Cc: Rob Herring <robh@kernel.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/dsi/dsi_host.c

index 4c49868efcda211ad2ed8397ef4ce1d2043ea63b..aec97c8e5ac4cd65bdd7c03cb59a69ca0655e562 100644 (file)
@@ -356,20 +356,17 @@ static int dsi_clk_init(struct msm_dsi_host *msm_host)
                goto exit;
        }
 
-       msm_host->byte_clk_src = devm_clk_get(dev, "byte_clk_src");
-       if (IS_ERR(msm_host->byte_clk_src)) {
-               ret = PTR_ERR(msm_host->byte_clk_src);
+       msm_host->byte_clk_src = clk_get_parent(msm_host->byte_clk);
+       if (!msm_host->byte_clk_src) {
+               ret = -ENODEV;
                pr_err("%s: can't find byte_clk_src. ret=%d\n", __func__, ret);
-               msm_host->byte_clk_src = NULL;
                goto exit;
        }
 
-       msm_host->pixel_clk_src = devm_clk_get(dev, "pixel_clk_src");
-       if (IS_ERR(msm_host->pixel_clk_src)) {
-               ret = PTR_ERR(msm_host->pixel_clk_src);
+       msm_host->pixel_clk_src = clk_get_parent(msm_host->pixel_clk);
+       if (!msm_host->pixel_clk_src) {
+               ret = -ENODEV;
                pr_err("%s: can't find pixel_clk_src. ret=%d\n", __func__, ret);
-               msm_host->pixel_clk_src = NULL;
-               goto exit;
        }
 
 exit: