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_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 */ | ||||
| extern cpumask_t cpu_coherent_mask; | ||||
|  | ||||
| @ -43,7 +43,7 @@ | ||||
| #include <asm/time.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 */ | ||||
| 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 ... | ||||
| 	 */ | ||||
| 	while (!cpumask_test_cpu(cpu, &cpu_callin_map)) | ||||
| 	while (!cpumask_test_cpu(cpu, &cpu_callin_map)) { | ||||
| 		udelay(100); | ||||
| 		schedule(); | ||||
| 	} | ||||
| 
 | ||||
| 	synchronise_count_master(cpu); | ||||
| 	return 0; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user