[PATCH 03/10] msm: iommu: Convert to clk_prepare/unprepare
Stephen Boyd
sboyd at codeaurora.org
Tue Sep 25 16:16:40 EDT 2012
On 09/24/12 15:32, Saravana Kannan wrote:
>> @@ -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
More information about the linux-arm-kernel
mailing list