diff options
Diffstat (limited to 'arch/powerpc/kernel/setup-common.c')
| -rw-r--r-- | arch/powerpc/kernel/setup-common.c | 22 | 
1 files changed, 13 insertions, 9 deletions
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c index 21f30cb6807..79fca2651b6 100644 --- a/arch/powerpc/kernel/setup-common.c +++ b/arch/powerpc/kernel/setup-common.c @@ -381,7 +381,7 @@ static void __init cpu_init_thread_core_maps(int tpc)  	int i;  	threads_per_core = tpc; -	threads_core_mask = CPU_MASK_NONE; +	cpumask_clear(&threads_core_mask);  	/* This implementation only supports power of 2 number of threads  	 * for simplicity and performance @@ -390,7 +390,7 @@ static void __init cpu_init_thread_core_maps(int tpc)  	BUG_ON(tpc != (1 << threads_shift));  	for (i = 0; i < tpc; i++) -		cpu_set(i, threads_core_mask); +		cpumask_set_cpu(i, &threads_core_mask);  	printk(KERN_INFO "CPU maps initialized for %d thread%s per core\n",  	       tpc, tpc > 1 ? "s" : ""); @@ -404,7 +404,7 @@ static void __init cpu_init_thread_core_maps(int tpc)   *                  cpu_present_mask   *   * Having the possible map set up early allows us to restrict allocations - * of things like irqstacks to num_possible_cpus() rather than NR_CPUS. + * of things like irqstacks to nr_cpu_ids rather than NR_CPUS.   *   * We do not initialize the online map here; cpus set their own bits in   * cpu_online_mask as they come up. @@ -424,7 +424,7 @@ void __init smp_setup_cpu_maps(void)  	DBG("smp_setup_cpu_maps()\n"); -	while ((dn = of_find_node_by_type(dn, "cpu")) && cpu < NR_CPUS) { +	while ((dn = of_find_node_by_type(dn, "cpu")) && cpu < nr_cpu_ids) {  		const int *intserv;  		int j, len; @@ -443,7 +443,7 @@ void __init smp_setup_cpu_maps(void)  				intserv = &cpu;	/* assume logical == phys */  		} -		for (j = 0; j < nthreads && cpu < NR_CPUS; j++) { +		for (j = 0; j < nthreads && cpu < nr_cpu_ids; j++) {  			DBG("    thread %d -> cpu %d (hard id %d)\n",  			    j, cpu, intserv[j]);  			set_cpu_present(cpu, true); @@ -483,12 +483,12 @@ void __init smp_setup_cpu_maps(void)  		if (cpu_has_feature(CPU_FTR_SMT))  			maxcpus *= nthreads; -		if (maxcpus > NR_CPUS) { +		if (maxcpus > nr_cpu_ids) {  			printk(KERN_WARNING  			       "Partition configured for %d cpus, "  			       "operating system maximum is %d.\n", -			       maxcpus, NR_CPUS); -			maxcpus = NR_CPUS; +			       maxcpus, nr_cpu_ids); +			maxcpus = nr_cpu_ids;  		} else  			printk(KERN_INFO "Partition configured for %d cpus.\n",  			       maxcpus); @@ -510,7 +510,7 @@ void __init smp_setup_cpu_maps(void)  	cpu_init_thread_core_maps(nthreads);  	/* Now that possible cpus are set, set nr_cpu_ids for later use */ -	nr_cpu_ids = find_last_bit(cpumask_bits(cpu_possible_mask),NR_CPUS) + 1; +	setup_nr_cpu_ids();  	free_unused_pacas();  } @@ -602,6 +602,10 @@ int check_legacy_ioport(unsigned long base_port)  		 * name instead */  		if (!np)  			np = of_find_node_by_name(NULL, "8042"); +		if (np) { +			of_i8042_kbd_irq = 1; +			of_i8042_aux_irq = 12; +		}  		break;  	case FDC_BASE: /* FDC1 */  		np = of_find_node_by_type(NULL, "fdc");  |