aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArvind Yadav <arvind.yadav.cs@gmail.com>2017-05-17 02:50:35 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2017-05-29 18:09:41 -0400
commit7575f8257279f9dd24b3fc950aa2c7e98564a103 (patch)
tree1e77210a4dbd03f9cc7e9616d8a3d2edc402eeba
parent6c77003677d5f1ce15f26d24360cb66c0bc07bb3 (diff)
cpufreq: kirkwood-cpufreq:- Handle return value of clk_prepare_enable()
clk_prepare_enable() can fail here and we must check its return value. Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r--drivers/cpufreq/kirkwood-cpufreq.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/drivers/cpufreq/kirkwood-cpufreq.c b/drivers/cpufreq/kirkwood-cpufreq.c
index 1b9bcd76c60e..c2dd43f3f5d8 100644
--- a/drivers/cpufreq/kirkwood-cpufreq.c
+++ b/drivers/cpufreq/kirkwood-cpufreq.c
@@ -127,7 +127,12 @@ static int kirkwood_cpufreq_probe(struct platform_device *pdev)
127 return PTR_ERR(priv.cpu_clk); 127 return PTR_ERR(priv.cpu_clk);
128 } 128 }
129 129
130 clk_prepare_enable(priv.cpu_clk); 130 err = clk_prepare_enable(priv.cpu_clk);
131 if (err) {
132 dev_err(priv.dev, "Unable to prepare cpuclk\n");
133 return err;
134 }
135
131 kirkwood_freq_table[0].frequency = clk_get_rate(priv.cpu_clk) / 1000; 136 kirkwood_freq_table[0].frequency = clk_get_rate(priv.cpu_clk) / 1000;
132 137
133 priv.ddr_clk = of_clk_get_by_name(np, "ddrclk"); 138 priv.ddr_clk = of_clk_get_by_name(np, "ddrclk");
@@ -137,7 +142,11 @@ static int kirkwood_cpufreq_probe(struct platform_device *pdev)
137 goto out_cpu; 142 goto out_cpu;
138 } 143 }
139 144
140 clk_prepare_enable(priv.ddr_clk); 145 err = clk_prepare_enable(priv.ddr_clk);
146 if (err) {
147 dev_err(priv.dev, "Unable to prepare ddrclk\n");
148 goto out_cpu;
149 }
141 kirkwood_freq_table[1].frequency = clk_get_rate(priv.ddr_clk) / 1000; 150 kirkwood_freq_table[1].frequency = clk_get_rate(priv.ddr_clk) / 1000;
142 151
143 priv.powersave_clk = of_clk_get_by_name(np, "powersave"); 152 priv.powersave_clk = of_clk_get_by_name(np, "powersave");
@@ -146,7 +155,11 @@ static int kirkwood_cpufreq_probe(struct platform_device *pdev)
146 err = PTR_ERR(priv.powersave_clk); 155 err = PTR_ERR(priv.powersave_clk);
147 goto out_ddr; 156 goto out_ddr;
148 } 157 }
149 clk_prepare_enable(priv.powersave_clk); 158 err = clk_prepare_enable(priv.powersave_clk);
159 if (err) {
160 dev_err(priv.dev, "Unable to prepare powersave clk\n");
161 goto out_ddr;
162 }
150 163
151 of_node_put(np); 164 of_node_put(np);
152 np = NULL; 165 np = NULL;