diff options
| author | Arvind Yadav <arvind.yadav.cs@gmail.com> | 2017-05-17 02:50:35 -0400 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2017-05-29 18:09:41 -0400 |
| commit | 7575f8257279f9dd24b3fc950aa2c7e98564a103 (patch) | |
| tree | 1e77210a4dbd03f9cc7e9616d8a3d2edc402eeba | |
| parent | 6c77003677d5f1ce15f26d24360cb66c0bc07bb3 (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.c | 19 |
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; |
