cpumask: Use accessors code.

Use the accessors rather than frobbing bits directly.  Most of this is
in arch code I haven't even compiled, but is straightforward.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 arch/arm/mach-realview/platsmp.c        |    2 +-
 arch/cris/arch-v32/kernel/smp.c         |    4 ++--
 arch/ia64/kernel/acpi.c                 |    2 +-
 arch/ia64/kernel/smpboot.c              |   17 +++++++----------
 arch/m32r/kernel/smpboot.c              |    2 +-
 arch/mips/kernel/smp-cmp.c              |    6 ++++--
 arch/mips/kernel/smp.c                  |    2 +-
 arch/powerpc/kernel/setup-common.c      |    4 ++--
 arch/powerpc/platforms/powermac/setup.c |    2 +-
 arch/s390/kernel/smp.c                  |    5 ++---
 arch/sh/kernel/cpu/sh4a/smp-shx3.c      |    5 ++---
 arch/sh/kernel/smp.c                    |    6 +++---
 arch/sparc64/kernel/mdesc.c             |    2 +-
 arch/sparc64/kernel/prom.c              |    4 ++--
 arch/um/kernel/smp.c                    |    2 +-
 arch/x86/kernel/apic_32.c               |    4 ++--
 arch/x86/kernel/apic_64.c               |    4 ++--
 arch/x86/kernel/smpboot.c               |   13 ++++++++-----
 arch/x86/mach-voyager/voyager_smp.c     |    8 ++++----
 arch/x86/xen/smp.c                      |    4 ++--
 kernel/cpu.c                            |    4 ++--
 21 files changed, 51 insertions(+), 51 deletions(-)

diff -r 9961c6c6c890 arch/arm/mach-realview/platsmp.c
--- a/arch/arm/mach-realview/platsmp.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/arm/mach-realview/platsmp.c	Mon Sep 29 00:10:01 2008 +1000
@@ -193,7 +193,7 @@ void __init smp_init_cpus(void)
 	unsigned int i, ncores = get_core_count();
 
 	for (i = 0; i < ncores; i++)
-		cpu_set(i, cpu_possible_map);
+		set_cpu_possible(i, true);
 }
 
 void __init smp_prepare_cpus(unsigned int max_cpus)
diff -r 9961c6c6c890 arch/cris/arch-v32/kernel/smp.c
--- a/arch/cris/arch-v32/kernel/smp.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/cris/arch-v32/kernel/smp.c	Mon Sep 29 00:10:01 2008 +1000
@@ -102,9 +102,9 @@ void __devinit smp_prepare_boot_cpu(void
 	SUPP_BANK_SEL(2);
 	SUPP_REG_WR(RW_MM_TLB_PGD, pgd);
 
-	cpu_set(0, cpu_online_map);
+	set_cpu_online(0, true);
 	cpu_set(0, phys_cpu_present_map);
-	cpu_set(0, cpu_possible_map);
+	set_cpu_possible(0, true);
 }
 
 void __init smp_cpus_done(unsigned int max_cpus)
diff -r 9961c6c6c890 arch/ia64/kernel/acpi.c
--- a/arch/ia64/kernel/acpi.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/ia64/kernel/acpi.c	Mon Sep 29 00:10:01 2008 +1000
@@ -845,7 +845,7 @@ __init void prefill_possible_map(void)
 		possible, max((possible - available_cpus), 0));
 
 	for (i = 0; i < possible; i++)
-		cpu_set(i, cpu_possible_map);
+		set_cpu_possible(i, true);
 }
 
 int acpi_map_lsapic(acpi_handle handle, int *pcpu)
diff -r 9961c6c6c890 arch/ia64/kernel/smpboot.c
--- a/arch/ia64/kernel/smpboot.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/ia64/kernel/smpboot.c	Mon Sep 29 00:10:01 2008 +1000
@@ -586,14 +586,14 @@ smp_build_cpu_map (void)
 
 	ia64_cpu_to_sapicid[0] = boot_cpu_id;
 	cpus_clear(cpu_present_map);
-	cpu_set(0, cpu_present_map);
-	cpu_set(0, cpu_possible_map);
+	set_cpu_present(0, true);
+	set_cpu_possible(0, true);
 	for (cpu = 1, i = 0; i < smp_boot_data.cpu_count; i++) {
 		sapicid = smp_boot_data.cpu_phys_id[i];
 		if (sapicid == boot_cpu_id)
 			continue;
-		cpu_set(cpu, cpu_present_map);
-		cpu_set(cpu, cpu_possible_map);
+		set_cpu_present(cpu, true);
+		set_cpu_possible(cpu, true);
 		ia64_cpu_to_sapicid[cpu] = sapicid;
 		cpu++;
 	}
@@ -631,12 +631,9 @@ smp_prepare_cpus (unsigned int max_cpus)
 	 */
 	if (!max_cpus) {
 		printk(KERN_INFO "SMP mode deactivated.\n");
-		cpus_clear(cpu_online_map);
-		cpus_clear(cpu_present_map);
-		cpus_clear(cpu_possible_map);
-		cpu_set(0, cpu_online_map);
-		cpu_set(0, cpu_present_map);
-		cpu_set(0, cpu_possible_map);
+		init_cpu_online(cpumask_of(0));
+		init_cpu_present(cpumask_of(0));
+		init_cpu_possible(cpumask_of(0));
 		return;
 	}
 }
diff -r 9961c6c6c890 arch/m32r/kernel/smpboot.c
--- a/arch/m32r/kernel/smpboot.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/m32r/kernel/smpboot.c	Mon Sep 29 00:10:01 2008 +1000
@@ -183,7 +183,7 @@ void __init smp_prepare_cpus(unsigned in
 	for (phys_id = 0 ; phys_id < nr_cpu ; phys_id++)
 		physid_set(phys_id, phys_cpu_present_map);
 #ifndef CONFIG_HOTPLUG_CPU
-	cpu_present_map = cpu_possible_map;
+	init_cpu_present(&cpu_possible_map);
 #endif
 
 	show_mp_info(nr_cpu);
diff -r 9961c6c6c890 arch/mips/kernel/smp-cmp.c
--- a/arch/mips/kernel/smp-cmp.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/mips/kernel/smp-cmp.c	Mon Sep 29 00:10:01 2008 +1000
@@ -52,8 +52,10 @@ static int __init allowcpus(char *str)
 
 	cpus_clear(cpu_allow_map);
 	if (cpulist_parse(str, &cpu_allow_map) == 0) {
-		cpu_set(0, cpu_allow_map);
-		cpus_and(cpu_possible_map, cpu_possible_map, cpu_allow_map);
+		unsigned int i;
+		for (i = 1; i < NR_CPUS; i++)
+			if (!cpumask_test_cpu(i, cpu_allow_map))
+				set_cpu_possible(i, false);
 		len = cpulist_scnprintf(buf, sizeof(buf)-1, &cpu_possible_map);
 		buf[len] = '\0';
 		pr_debug("Allowable CPUs: %s\n", buf);
diff -r 9961c6c6c890 arch/mips/kernel/smp.c
--- a/arch/mips/kernel/smp.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/mips/kernel/smp.c	Mon Sep 29 00:10:01 2008 +1000
@@ -184,7 +184,7 @@ void __init smp_prepare_cpus(unsigned in
 	mp_ops->prepare_cpus(max_cpus);
 	set_cpu_sibling_map(0);
 #ifndef CONFIG_HOTPLUG_CPU
-	cpu_present_map = cpu_possible_map;
+	init_cpu_present(&cpu_possible_map);
 #endif
 }
 
diff -r 9961c6c6c890 arch/powerpc/kernel/setup-common.c
--- a/arch/powerpc/kernel/setup-common.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/powerpc/kernel/setup-common.c	Mon Sep 29 00:10:01 2008 +1000
@@ -413,7 +413,7 @@ void __init smp_setup_cpu_maps(void)
 			    j, cpu, intserv[j]);
 			cpu_set(cpu, cpu_present_map);
 			set_hard_smp_processor_id(cpu, intserv[j]);
-			cpu_set(cpu, cpu_possible_map);
+			set_cpu_possible(cpu, true);
 			cpu++;
 		}
 	}
@@ -459,7 +459,7 @@ void __init smp_setup_cpu_maps(void)
 			       maxcpus);
 
 		for (cpu = 0; cpu < maxcpus; cpu++)
-			cpu_set(cpu, cpu_possible_map);
+			set_cpu_possible(cpu, true);
 	out:
 		of_node_put(dn);
 	}
diff -r 9961c6c6c890 arch/powerpc/platforms/powermac/setup.c
--- a/arch/powerpc/platforms/powermac/setup.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/powerpc/platforms/powermac/setup.c	Mon Sep 29 00:10:01 2008 +1000
@@ -367,7 +367,7 @@ static void __init pmac_setup_arch(void)
 		int cpu;
 
 		for (cpu = 1; cpu < 4 && cpu < nr_cpu_ids; ++cpu)
-			cpu_set(cpu, cpu_possible_map);
+			set_cpu_possible(cpu, true);
 		smp_ops = &psurge_smp_ops;
 	}
 #endif
diff -r 9961c6c6c890 arch/s390/kernel/smp.c
--- a/arch/s390/kernel/smp.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/s390/kernel/smp.c	Mon Sep 29 00:10:01 2008 +1000
@@ -730,9 +730,8 @@ static int __init setup_possible_cpus(ch
 	int pcpus, cpu;
 
 	pcpus = simple_strtoul(s, NULL, 0);
-	cpu_possible_map = cpumask_of_cpu(0);
-	for (cpu = 1; cpu < pcpus && cpu < nr_cpu_ids; cpu++)
-		cpu_set(cpu, cpu_possible_map);
+	for (cpu = 0; cpu < pcpus && cpu < nr_cpu_ids; cpu++)
+		set_cpu_possible(cpu, true);
 	return 0;
 }
 early_param("possible_cpus", setup_possible_cpus);
diff -r 9961c6c6c890 arch/sh/kernel/cpu/sh4a/smp-shx3.c
--- a/arch/sh/kernel/cpu/sh4a/smp-shx3.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/sh/kernel/cpu/sh4a/smp-shx3.c	Mon Sep 29 00:10:01 2008 +1000
@@ -19,8 +19,7 @@ void __init plat_smp_setup(void)
 	unsigned int cpu = 0;
 	int i, num;
 
-	cpus_clear(cpu_possible_map);
-	cpu_set(cpu, cpu_possible_map);
+	init_cpu_possible(cpumask_of(cpu));
 
 	__cpu_number_map[0] = 0;
 	__cpu_logical_map[0] = 0;
@@ -30,7 +29,7 @@ void __init plat_smp_setup(void)
 	 * for the total number of cores.
 	 */
 	for (i = 1, num = 0; i < NR_CPUS; i++) {
-		cpu_set(i, cpu_possible_map);
+		set_cpu_possible(i, true);
 		__cpu_number_map[i] = ++num;
 		__cpu_logical_map[num] = i;
 	}
diff -r 9961c6c6c890 arch/sh/kernel/smp.c
--- a/arch/sh/kernel/smp.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/sh/kernel/smp.c	Mon Sep 29 00:10:01 2008 +1000
@@ -52,7 +52,7 @@ void __init smp_prepare_cpus(unsigned in
 	plat_prepare_cpus(max_cpus);
 
 #ifndef CONFIG_HOTPLUG_CPU
-	cpu_present_map = cpu_possible_map;
+	init_cpu_present(&cpu_possible_map);
 #endif
 }
 
@@ -63,8 +63,8 @@ void __devinit smp_prepare_boot_cpu(void
 	__cpu_number_map[0] = cpu;
 	__cpu_logical_map[0] = cpu;
 
-	cpu_set(cpu, cpu_online_map);
-	cpu_set(cpu, cpu_possible_map);
+	set_cpu_online(cpu, true);
+	set_cpu_possible(cpu, true);
 }
 
 asmlinkage void __cpuinit start_secondary(void)
diff -r 9961c6c6c890 arch/sparc64/kernel/mdesc.c
--- a/arch/sparc64/kernel/mdesc.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/sparc64/kernel/mdesc.c	Mon Sep 29 00:10:01 2008 +1000
@@ -566,7 +566,7 @@ static void __init report_platform_prope
 			max_cpu = NR_CPUS;
 		}
 		for (i = 0; i < max_cpu; i++)
-			cpu_set(i, cpu_possible_map);
+			set_cpu_possible(i, true);
 	}
 #endif
 
diff -r 9961c6c6c890 arch/sparc64/kernel/prom.c
--- a/arch/sparc64/kernel/prom.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/sparc64/kernel/prom.c	Mon Sep 29 00:10:01 2008 +1000
@@ -1662,8 +1662,8 @@ static void __init of_fill_in_cpu_data(v
 		}
 
 #ifdef CONFIG_SMP
-		cpu_set(cpuid, cpu_present_map);
-		cpu_set(cpuid, cpu_possible_map);
+		set_cpu_present(cpuid, true);
+		set_cpu_possible(cpuid, true);
 #endif
 	}
 
diff -r 9961c6c6c890 arch/um/kernel/smp.c
--- a/arch/um/kernel/smp.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/um/kernel/smp.c	Mon Sep 29 00:10:01 2008 +1000
@@ -117,7 +117,7 @@ void smp_prepare_cpus(unsigned int maxcp
 	int i;
 
 	for (i = 0; i < ncpus; ++i)
-		cpu_set(i, cpu_possible_map);
+		set_cpu_possible(i, true);
 
 	cpu_clear(me, cpu_online_map);
 	cpu_set(me, cpu_online_map);
diff -r 9961c6c6c890 arch/x86/kernel/apic_32.c
--- a/arch/x86/kernel/apic_32.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/x86/kernel/apic_32.c	Mon Sep 29 00:10:01 2008 +1000
@@ -1527,8 +1527,8 @@ void __cpuinit generic_processor_info(in
 		per_cpu(x86_bios_cpu_apicid, cpu) = apicid;
 	}
 #endif
-	cpu_set(cpu, cpu_possible_map);
-	cpu_set(cpu, cpu_present_map);
+	set_cpu_possible(cpu, true);
+	set_cpu_present(cpu, true);
 }
 
 /*
diff -r 9961c6c6c890 arch/x86/kernel/apic_64.c
--- a/arch/x86/kernel/apic_64.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/x86/kernel/apic_64.c	Mon Sep 29 00:10:01 2008 +1000
@@ -1089,8 +1089,8 @@ void __cpuinit generic_processor_info(in
 		per_cpu(x86_bios_cpu_apicid, cpu) = apicid;
 	}
 
-	cpu_set(cpu, cpu_possible_map);
-	cpu_set(cpu, cpu_present_map);
+	set_cpu_possible(cpu, true);
+	set_cpu_present(cpu, true);
 }
 
 /*
diff -r 9961c6c6c890 arch/x86/kernel/smpboot.c
--- a/arch/x86/kernel/smpboot.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/x86/kernel/smpboot.c	Mon Sep 29 00:10:01 2008 +1000
@@ -1036,8 +1036,11 @@ int __cpuinit native_cpu_up(unsigned int
  */
 static __init void disable_smp(void)
 {
-	cpu_present_map = cpumask_of_cpu(0);
-	cpu_possible_map = cpumask_of_cpu(0);
+	unsigned int i;
+	for (i = 0; i < NR_CPUS; i++) {
+		set_cpu_present(i, i == 0);
+		set_cpu_possible(i, i == 0);
+	}
 	smpboot_clear_io_apic_irqs();
 
 	if (smp_found_config)
@@ -1068,14 +1071,14 @@ static int __init smp_sanity_check(unsig
 		nr = 0;
 		for_each_present_cpu(cpu) {
 			if (nr >= 8)
-				cpu_clear(cpu, cpu_present_map);
+				set_cpu_present(cpu, false);
 			nr++;
 		}
 
 		nr = 0;
 		for_each_possible_cpu(cpu) {
 			if (nr >= 8)
-				cpu_clear(cpu, cpu_possible_map);
+				set_cpu_possible(cpu, false);
 			nr++;
 		}
 
@@ -1331,7 +1334,7 @@ __init void prefill_possible_map(void)
 		possible, max_t(int, possible - num_processors, 0));
 
 	for (i = 0; i < possible; i++)
-		cpu_set(i, cpu_possible_map);
+		set_cpu_possible(i, true);
 
 	setup_nr_cpu_ids();
 }
diff -r 9961c6c6c890 arch/x86/mach-voyager/voyager_smp.c
--- a/arch/x86/mach-voyager/voyager_smp.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/x86/mach-voyager/voyager_smp.c	Mon Sep 29 00:10:01 2008 +1000
@@ -378,7 +378,7 @@ void __init find_smp_config(void)
 	cpus_addr(phys_cpu_present_map)[0] |=
 	    voyager_extended_cmos_read(VOYAGER_PROCESSOR_PRESENT_MASK +
 				       3) << 24;
-	cpu_possible_map = phys_cpu_present_map;
+	init_cpu_possible(&phys_cpu_present_map);
 	printk("VOYAGER SMP: phys_cpu_present_map = 0x%lx\n",
 	       cpus_addr(phys_cpu_present_map)[0]);
 	/* Here we set up the VIC to enable SMP */
@@ -1745,10 +1745,10 @@ static void __cpuinit voyager_smp_prepar
 	init_gdt(smp_processor_id());
 	switch_to_new_gdt();
 
-	cpu_set(smp_processor_id(), cpu_online_map);
+	set_cpu_online(smp_processor_id(), true);
+	set_cpu_possible(smp_processor_id(), true);
+	set_cpu_present(smp_processor_id(), true);
 	cpu_set(smp_processor_id(), cpu_callout_map);
-	cpu_set(smp_processor_id(), cpu_possible_map);
-	cpu_set(smp_processor_id(), cpu_present_map);
 }
 
 static int __cpuinit voyager_cpu_up(unsigned int cpu)
diff -r 9961c6c6c890 arch/x86/xen/smp.c
--- a/arch/x86/xen/smp.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/arch/x86/xen/smp.c	Mon Sep 29 00:10:01 2008 +1000
@@ -161,7 +161,7 @@ static void __init xen_fill_possible_map
 		rc = HYPERVISOR_vcpu_op(VCPUOP_is_up, i, NULL);
 		if (rc >= 0) {
 			num_processors++;
-			cpu_set(i, cpu_possible_map);
+			set_cpu_possible(i, true);
 		}
 	}
 }
@@ -197,7 +197,7 @@ static void __init xen_smp_prepare_cpus(
 	while ((num_possible_cpus() > 1) && (num_possible_cpus() > max_cpus)) {
 		for (cpu = nr_cpu_ids - 1; !cpu_possible(cpu); cpu--)
 			continue;
-		cpu_clear(cpu, cpu_possible_map);
+		set_cpu_possible(cpu, false);
 	}
 
 	for_each_possible_cpu (cpu) {
diff -r 9961c6c6c890 kernel/cpu.c
--- a/kernel/cpu.c	Mon Sep 29 00:08:01 2008 +1000
+++ b/kernel/cpu.c	Mon Sep 29 00:10:01 2008 +1000
@@ -313,7 +313,7 @@ int __ref cpu_down(unsigned int cpu)
 	err = _cpu_down(cpu, 0);
 
 	if (cpu_online(cpu))
-		cpu_set(cpu, cpu_active_map);
+		set_cpu_active(cpu, true);
 
 out:
 	cpu_maps_update_done();
@@ -349,7 +349,7 @@ static int __cpuinit _cpu_up(unsigned in
 		goto out_notify;
 	BUG_ON(!cpu_online(cpu));
 
-	cpu_set(cpu, cpu_active_map);
+	set_cpu_active(cpu, true);
 
 	/* Now call notifier in preparation. */
 	raw_notifier_call_chain(&cpu_chain, CPU_ONLINE | mod, hcpu);
