|
@@ -985,12 +985,16 @@ static int exynos_tmu_probe(struct platform_device *pdev)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
- data->clk = clk_get(NULL, "tmu_apbif");
|
|
|
+ data->clk = devm_clk_get(&pdev->dev, "tmu_apbif");
|
|
|
if (IS_ERR(data->clk)) {
|
|
|
dev_err(&pdev->dev, "Failed to get clock\n");
|
|
|
return PTR_ERR(data->clk);
|
|
|
}
|
|
|
|
|
|
+ ret = clk_prepare(data->clk);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
+
|
|
|
if (pdata->type == SOC_ARCH_EXYNOS ||
|
|
|
pdata->type == SOC_ARCH_EXYNOS4210)
|
|
|
data->soc = pdata->type;
|
|
@@ -1046,7 +1050,7 @@ static int exynos_tmu_probe(struct platform_device *pdev)
|
|
|
return 0;
|
|
|
err_clk:
|
|
|
platform_set_drvdata(pdev, NULL);
|
|
|
- clk_put(data->clk);
|
|
|
+ clk_unprepare(data->clk);
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
@@ -1060,7 +1064,7 @@ static int exynos_tmu_remove(struct platform_device *pdev)
|
|
|
|
|
|
exynos_unregister_thermal();
|
|
|
|
|
|
- clk_put(data->clk);
|
|
|
+ clk_unprepare(data->clk);
|
|
|
|
|
|
platform_set_drvdata(pdev, NULL);
|
|
|
|