diff options
-rw-r--r-- | drivers/cpufreq/loongson1-cpufreq.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/cpufreq/loongson1-cpufreq.c b/drivers/cpufreq/loongson1-cpufreq.c index 57fae9b585cf..4c3087f9f668 100644 --- a/drivers/cpufreq/loongson1-cpufreq.c +++ b/drivers/cpufreq/loongson1-cpufreq.c @@ -81,13 +81,9 @@ static int ls1x_cpufreq_init(struct cpufreq_policy *policy) pll_freq = clk_get_rate(ls1x_cpufreq.pll_clk) / 1000; steps = 1 << DIV_CPU_WIDTH; - freq_tbl = kzalloc(sizeof(*freq_tbl) * steps, GFP_KERNEL); - if (!freq_tbl) { - dev_err(ls1x_cpufreq.dev, - "failed to alloc cpufreq_frequency_table\n"); - ret = -ENOMEM; - goto out; - } + freq_tbl = kcalloc(steps, sizeof(*freq_tbl), GFP_KERNEL); + if (!freq_tbl) + return -ENOMEM; for (i = 0; i < (steps - 1); i++) { freq = pll_freq / (i + 1); @@ -106,7 +102,7 @@ static int ls1x_cpufreq_init(struct cpufreq_policy *policy) ret = cpufreq_generic_init(policy, freq_tbl, 0); if (ret) kfree(freq_tbl); -out: + return ret; } |