Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

cpufreq: armada-8k: make both cpu masks static

An earlier patch marked one of the two CPU masks as 'static' to reduce stack
usage, but if CONFIG_NR_CPUS is large enough, the function still produces
a warning for compile testing:

drivers/cpufreq/armada-8k-cpufreq.c: In function 'armada_8k_cpufreq_init':
drivers/cpufreq/armada-8k-cpufreq.c:203:1: error: the frame size of 1416 bytes is larger than 1408 bytes [-Werror=frame-larger-than=]

Normally this should be done using alloc_cpumask_var(), but since the
driver already has a static mask and the probe function is not called
concurrently, use the same trick for both.

Fixes: 1ffec650d07f ("cpufreq: armada-8k: Avoid excessive stack usage")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

authored by

Arnd Bergmann and committed by
Viresh Kumar
b1b41bc0 b0a86fb0

+1 -2
+1 -2
drivers/cpufreq/armada-8k-cpufreq.c
··· 132 132 int ret = 0, opps_index = 0, cpu, nb_cpus; 133 133 struct freq_table *freq_tables; 134 134 struct device_node *node; 135 - static struct cpumask cpus; 135 + static struct cpumask cpus, shared_cpus; 136 136 137 137 node = of_find_matching_node_and_match(NULL, armada_8k_cpufreq_of_match, 138 138 NULL); ··· 154 154 * divisions of it). 155 155 */ 156 156 for_each_cpu(cpu, &cpus) { 157 - struct cpumask shared_cpus; 158 157 struct device *cpu_dev; 159 158 struct clk *clk; 160 159