MIPS: SMP: Fix build error.
CC arch/mips/kernel/smp.o arch/mips/kernel/smp.c: In function ‘start_secondary’: arch/mips/kernel/smp.c:149:2: error: passing argument 2 of ‘cpumask_set_cpu’ discards ‘volatile’ qualifier from pointer target type [-Werror] cpumask_set_cpu(cpu, &cpu_callin_map); ^ In file included from ./arch/mips/include/asm/processor.h:14:0, from ./arch/mips/include/asm/thread_info.h:15, from include/linux/thread_info.h:54, from include/asm-generic/preempt.h:4, from arch/mips/include/generated/asm/preempt.h:1, from include/linux/preempt.h:18, from include/linux/interrupt.h:8, from arch/mips/kernel/smp.c:24: include/linux/cpumask.h:272:91: note: expected ‘struct cpumask *’ but argument is of type ‘volatile struct cpumask_t *’ static inline void cpumask_set_cpu(unsigned int cpu, struct cpumask *dstp) ^ arch/mips/kernel/smp.c: In function ‘smp_prepare_boot_cpu’: arch/mips/kernel/smp.c:211:2: error: passing argument 2 of ‘cpumask_set_cpu’ discards ‘volatile’ qualifier from pointer target type [-Werror] cpumask_set_cpu(0, &cpu_callin_map); ^ In file included from ./arch/mips/include/asm/processor.h:14:0, from ./arch/mips/include/asm/thread_info.h:15, from include/linux/thread_info.h:54, from include/asm-generic/preempt.h:4, from arch/mips/include/generated/asm/preempt.h:1, from include/linux/preempt.h:18, from include/linux/interrupt.h:8, from arch/mips/kernel/smp.c:24: include/linux/cpumask.h:272:91: note: expected ‘struct cpumask *’ but argument is of type ‘volatile struct cpumask_t *’ static inline void cpumask_set_cpu(unsigned int cpu, struct cpumask *dstp) ^ arch/mips/kernel/smp.c: In function ‘__cpu_up’: arch/mips/kernel/smp.c:221:10: error: passing argument 2 of ‘cpumask_test_cpu’ discards ‘volatile’ qualifier from pointer target type [-Werror] while (!cpumask_test_cpu(cpu, &cpu_callin_map)) ^ In file included from ./arch/mips/include/asm/processor.h:14:0, from ./arch/mips/include/asm/thread_info.h:15, from include/linux/thread_info.h:54, from include/asm-generic/preempt.h:4, from arch/mips/include/generated/asm/preempt.h:1, from include/linux/preempt.h:18, from include/linux/interrupt.h:8, from arch/mips/kernel/smp.c:24: include/linux/cpumask.h:294:90: note: expected ‘const struct cpumask *’ but argument is of type ‘volatile struct cpumask_t *’ static inline int cpumask_test_cpu(int cpu, const struct cpumask *cpumask) ^ cc1: all warnings being treated as errors make[2]: *** [arch/mips/kernel/smp.o] Error 1 make[1]: *** [arch/mips/kernel] Error 2 make: *** [arch/mips] Error 2 Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
030bbdbf4c
commit
cafb45b256
|
@ -45,7 +45,7 @@ extern int __cpu_logical_map[NR_CPUS];
|
||||||
#define SMP_DUMP 0x8
|
#define SMP_DUMP 0x8
|
||||||
#define SMP_ASK_C0COUNT 0x10
|
#define SMP_ASK_C0COUNT 0x10
|
||||||
|
|
||||||
extern volatile cpumask_t cpu_callin_map;
|
extern cpumask_t cpu_callin_map;
|
||||||
|
|
||||||
/* Mask of CPUs which are currently definitely operating coherently */
|
/* Mask of CPUs which are currently definitely operating coherently */
|
||||||
extern cpumask_t cpu_coherent_mask;
|
extern cpumask_t cpu_coherent_mask;
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
#include <asm/time.h>
|
#include <asm/time.h>
|
||||||
#include <asm/setup.h>
|
#include <asm/setup.h>
|
||||||
|
|
||||||
volatile cpumask_t cpu_callin_map; /* Bitmask of started secondaries */
|
cpumask_t cpu_callin_map; /* Bitmask of started secondaries */
|
||||||
|
|
||||||
int __cpu_number_map[NR_CPUS]; /* Map physical to logical */
|
int __cpu_number_map[NR_CPUS]; /* Map physical to logical */
|
||||||
EXPORT_SYMBOL(__cpu_number_map);
|
EXPORT_SYMBOL(__cpu_number_map);
|
||||||
|
@ -218,8 +218,10 @@ int __cpu_up(unsigned int cpu, struct task_struct *tidle)
|
||||||
/*
|
/*
|
||||||
* Trust is futile. We should really have timeouts ...
|
* Trust is futile. We should really have timeouts ...
|
||||||
*/
|
*/
|
||||||
while (!cpumask_test_cpu(cpu, &cpu_callin_map))
|
while (!cpumask_test_cpu(cpu, &cpu_callin_map)) {
|
||||||
udelay(100);
|
udelay(100);
|
||||||
|
schedule();
|
||||||
|
}
|
||||||
|
|
||||||
synchronise_count_master(cpu);
|
synchronise_count_master(cpu);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue