Thread (29 messages) 29 messages, 4 authors, 2012-09-26

[PATCH 03/10] msm: iommu: Convert to clk_prepare/unprepare

From: Stephen Boyd <hidden>
Date: 2012-09-25 20:16:42
Also in: linux-arm-msm, lkml

On 09/24/12 15:32, Saravana Kannan wrote:
quoted
@@ -275,8 +275,11 @@ static int msm_iommu_remove(struct
platform_device *pdev)

      drv = platform_get_drvdata(pdev);
      if (drv) {
-        if (drv->clk)
+        if (drv->clk) {
+            clk_unprepare(drv->clk);
              clk_put(drv->clk);
+        }
+        clk_unprepare(drv->pclk);

Are these changes right? Every other clk API change in this patch is
using the combined prepare_enable/disable_unprepare() calls. So, when
would we end up at this location with the clocks prepared but not
enabled?

Also, what if the device gets probed and then immediately removed.
Will it work correctly?
It should work correctly. If you look at the bottom of msm_iommu_probe()
you see that it call clk_disable() and doesn't unprepare the clock. So
if the driver is unbound the clocks should be disabled but still prepared.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help