static inline const cpumask_t *cpumask_of_node(int node)
 {
-       return &cpu_online_map;
+       return cpu_online_mask;
 }
 static inline int node_to_first_cpu(int node)
 {
-       return first_cpu(cpu_online_map);
+       return cpumask_first(cpu_online_mask);
 }
 
 static inline void setup_node_to_cpumask_map(void) { }
 
        return 1;
 }
 
-static const cpumask_t *bigsmp_target_cpus(void)
+static const struct cpumask *bigsmp_target_cpus(void)
 {
 #ifdef CONFIG_SMP
-       return &cpu_online_map;
+       return cpu_online_mask;
 #else
-       return &cpumask_of_cpu(0);
+       return cpumask_of(0);
 #endif
 }
 
 }
 
 /* As we are using single CPU as destination, pick only one CPU here */
-static unsigned int bigsmp_cpu_mask_to_apicid(const cpumask_t *cpumask)
+static unsigned int bigsmp_cpu_mask_to_apicid(const struct cpumask *cpumask)
 {
-       return bigsmp_cpu_to_logical_apicid(first_cpu(*cpumask));
+       return bigsmp_cpu_to_logical_apicid(cpumask_first(cpumask));
 }
 
 static unsigned int bigsmp_cpu_mask_to_apicid_and(const struct cpumask *cpumask,
        { } /* NULL entry stops DMI scanning */
 };
 
-static void bigsmp_vector_allocation_domain(int cpu, cpumask_t *retmask)
+static void bigsmp_vector_allocation_domain(int cpu, struct cpumask *retmask)
 {
-       cpus_clear(*retmask);
-       cpu_set(cpu, *retmask);
+       cpumask_clear(retmask);
+       cpumask_set_cpu(cpu, retmask);
 }
 
 static int probe_bigsmp(void)
 
        return cpu_all_mask;
 }
 
-static const cpumask_t *es7000_target_cpus(void)
+static const struct cpumask *es7000_target_cpus(void)
 {
-       return &cpumask_of_cpu(smp_processor_id());
+       return cpumask_of(smp_processor_id());
 }
 
 static unsigned long
          "Enabling APIC mode:  %s. Using %d I/O APICs, target cpus %lx\n",
                (apic_version[apic] == 0x14) ?
                        "Physical Cluster" : "Logical Cluster",
-               nr_ioapics, cpus_addr(*es7000_target_cpus())[0]);
+               nr_ioapics, cpumask_bits(es7000_target_cpus())[0]);
 }
 
 static int es7000_apicid_to_node(int logical_apicid)
 
         * dest_LowestPrio mode logical clustered apic interrupt routing
         * Just start on cpu 0.  IRQ balancing will spread load
         */
-       return &cpumask_of_cpu(0);
+       return cpumask_of(0);
 }
 
 static unsigned long summit_check_apicid_used(physid_mask_t bitmap, int apicid)
 
        for_each_online_cpu (cpu) {
                if (cpu == dying)
                        continue;
-               if (set_cpus_allowed_ptr(current, &cpumask_of_cpu(cpu)))
+               if (set_cpus_allowed_ptr(current, cpumask_of(cpu)))
                        continue;
                /* Recheck banks in case CPUs don't all have the same */
                if (cmci_supported(&banks))
 
 static void *c_start(struct seq_file *m, loff_t *pos)
 {
        if (*pos == 0)  /* just in case, cpu 0 is not the first */
-               *pos = first_cpu(cpu_online_map);
+               *pos = cpumask_first(cpu_online_mask);
        else
-               *pos = next_cpu_nr(*pos - 1, cpu_online_map);
+               *pos = cpumask_next(*pos - 1, cpu_online_mask);
        if ((*pos) < nr_cpu_ids)
                return &cpu_data(*pos);
        return NULL;
 
        /*
         * Remove this CPU:
         */
-       cpu_clear(smp_processor_id(), cpu_online_map);
+       set_cpu_online(smp_processor_id(), false);
        disable_local_APIC();
 
        for (;;) {
 
        __flush_tlb_all();
 #endif
 
-       /* This must be done before setting cpu_online_map */
+       /* This must be done before setting cpu_online_mask */
        set_cpu_sibling_map(raw_smp_processor_id());
        wmb();
 
  */
 static __init void disable_smp(void)
 {
-       /* use the read/write pointers to the present and possible maps */
-       cpumask_copy(&cpu_present_map, cpumask_of(0));
-       cpumask_copy(&cpu_possible_map, cpumask_of(0));
+       init_cpu_present(cpumask_of(0));
+       init_cpu_possible(cpumask_of(0));
        smpboot_clear_io_apic_irqs();
 
        if (smp_found_config)
 
 
 /*
- * cpu_possible_map should be static, it cannot change as cpu's
+ * cpu_possible_mask should be static, it cannot change as cpu's
  * are onlined, or offlined. The reason is per-cpu data-structures
  * are allocated by some modules at init time, and dont expect to
  * do this dynamically on cpu arrival/departure.
- * cpu_present_map on the other hand can change dynamically.
+ * cpu_present_mask on the other hand can change dynamically.
  * In case when cpu_hotplug is not compiled, then we resort to current
  * behaviour, which is cpu_possible == cpu_present.
  * - Ashok Raj
 
                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);
                }
        }
 }
        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) {
                if (IS_ERR(idle))
                        panic("failed fork for CPU %d", cpu);
 
-               cpu_set(cpu, cpu_present_map);
+               set_cpu_present(cpu, true);
        }
 }