@@ -294,14 +294,14 @@ static int mtk_ccifreq_probe(struct platform_device *pdev)
if (IS_ERR(drv->sram_reg)) {
ret = PTR_ERR(drv->sram_reg);
if (ret == -EPROBE_DEFER)
- goto out_free_resources;
+ goto out_disable_proc_reg;
drv->sram_reg = NULL;
} else {
ret = regulator_enable(drv->sram_reg);
if (ret) {
dev_err(dev, "failed to enable sram regulator\n");
- goto out_free_resources;
+ goto out_disable_proc_reg;
}
}
@@ -316,12 +316,12 @@ static int mtk_ccifreq_probe(struct platform_device *pdev)
ret = clk_prepare_enable(drv->cci_clk);
if (ret)
- goto out_free_resources;
+ goto out_disable_sram_reg;
ret = dev_pm_opp_of_add_table(dev);
if (ret) {
dev_err(dev, "failed to add opp table: %d\n", ret);
- goto out_disable_cci_clk;
+ goto out_disable_cci_clock;
}
rate = clk_get_rate(drv->inter_clk);
@@ -329,7 +329,7 @@ static int mtk_ccifreq_probe(struct platform_device *pdev)
if (IS_ERR(opp)) {
ret = PTR_ERR(opp);
dev_err(dev, "failed to get intermediate opp: %d\n", ret);
- goto out_remove_opp_table;
+ goto out_free_opp_table;
}
drv->inter_voltage = dev_pm_opp_get_voltage(opp);
dev_pm_opp_put(opp);
@@ -339,7 +339,7 @@ static int mtk_ccifreq_probe(struct platform_device *pdev)
if (IS_ERR(opp)) {
dev_err(dev, "failed to get opp\n");
ret = PTR_ERR(opp);
- goto out_remove_opp_table;
+ goto out_free_opp_table;
}
opp_volt = dev_pm_opp_get_voltage(opp);
@@ -348,13 +348,13 @@ static int mtk_ccifreq_probe(struct platform_device *pdev)
if (ret) {
dev_err(dev, "failed to scale to highest voltage %lu in proc_reg\n",
opp_volt);
- goto out_remove_opp_table;
+ goto out_free_opp_table;
}
passive_data = devm_kzalloc(dev, sizeof(*passive_data), GFP_KERNEL);
if (!passive_data) {
ret = -ENOMEM;
- goto out_remove_opp_table;
+ goto out_free_opp_table;
}
passive_data->parent_type = CPUFREQ_PARENT_DEV;
@@ -365,29 +365,30 @@ static int mtk_ccifreq_probe(struct platform_device *pdev)
ret = -EPROBE_DEFER;
dev_err(dev, "failed to add devfreq device: %ld\n",
PTR_ERR(drv->devfreq));
- goto out_remove_opp_table;
+ goto out_free_opp_table;
}
drv->opp_nb.notifier_call = mtk_ccifreq_opp_notifier;
ret = dev_pm_opp_register_notifier(dev, &drv->opp_nb);
if (ret) {
dev_err(dev, "failed to register opp notifier: %d\n", ret);
- goto out_remove_opp_table;
+ goto out_free_opp_table;
}
return 0;
-out_remove_opp_table:
+out_free_opp_table:
dev_pm_opp_of_remove_table(dev);
-out_disable_cci_clk:
+out_disable_cci_clock:
clk_disable_unprepare(drv->cci_clk);
-out_free_resources:
- if (regulator_is_enabled(drv->proc_reg))
- regulator_disable(drv->proc_reg);
- if (drv->sram_reg && regulator_is_enabled(drv->sram_reg))
+out_disable_sram_reg:
+ if (drv->sram_reg)
regulator_disable(drv->sram_reg);
+out_disable_proc_reg:
+ regulator_disable(drv->proc_reg);
+
return ret;
}
@@ -398,12 +399,12 @@ static int mtk_ccifreq_remove(struct platform_device *pdev)
drv = platform_get_drvdata(pdev);
- dev_pm_opp_unregister_notifier(dev, &drv->opp_nb);
- dev_pm_opp_of_remove_table(dev);
- clk_disable_unprepare(drv->cci_clk);
regulator_disable(drv->proc_reg);
if (drv->sram_reg)
regulator_disable(drv->sram_reg);
+ clk_disable_unprepare(drv->cci_clk);
+ dev_pm_opp_of_remove_table(dev);
+ dev_pm_opp_unregister_notifier(dev, &drv->opp_nb);
return 0;
}