/* Can't be NULL on 64-bit */
        unsigned long (*set_apic_id)(unsigned int id);
 
-       int (*cpu_mask_to_apicid_and)(const struct cpumask *cpumask,
-                                     const struct cpumask *andmask,
-                                     unsigned int *apicid);
+       int (*cpu_mask_to_apicid)(const struct cpumask *cpumask,
+                                 unsigned int *apicid);
 
        /* ipi */
        void (*send_IPI)(int cpu, int vector);
 
 #endif
 
-extern int flat_cpu_mask_to_apicid_and(const struct cpumask *cpumask,
-                                      const struct cpumask *andmask,
-                                      unsigned int *apicid);
-extern int default_cpu_mask_to_apicid_and(const struct cpumask *cpumask,
-                                         const struct cpumask *andmask,
-                                         unsigned int *apicid);
+extern int flat_cpu_mask_to_apicid(const struct cpumask *cpumask,
+                                  unsigned int *apicid);
+extern int default_cpu_mask_to_apicid(const struct cpumask *cpumask,
+                                     unsigned int *apicid);
 
 static inline void
 flat_vector_allocation_domain(int cpu, struct cpumask *retmask,
 
        apic_write(APIC_LDR, val);
 }
 
-int default_cpu_mask_to_apicid_and(const struct cpumask *cpumask,
-                                  const struct cpumask *andmask,
-                                  unsigned int *apicid)
+int default_cpu_mask_to_apicid(const struct cpumask *mask, unsigned int *apicid)
 {
-       unsigned int cpu = cpumask_first_and(cpumask, andmask);
+       unsigned int cpu = cpumask_first(mask);
 
        if (cpu >= nr_cpu_ids)
                return -EINVAL;
        return 0;
 }
 
-int flat_cpu_mask_to_apicid_and(const struct cpumask *cpumask,
-                               const struct cpumask *andmask,
-                               unsigned int *apicid)
+int flat_cpu_mask_to_apicid(const struct cpumask *mask, unsigned int *apicid)
 {
-       unsigned long cpu_mask = cpumask_bits(cpumask)[0] &
-                                cpumask_bits(andmask)[0] &
-                                APIC_ALL_CPUS;
+       unsigned long cpu_mask = cpumask_bits(mask)[0] & APIC_ALL_CPUS;
 
        if (!cpu_mask)
                return -EINVAL;
 
        .get_apic_id                    = flat_get_apic_id,
        .set_apic_id                    = set_apic_id,
 
-       .cpu_mask_to_apicid_and         = flat_cpu_mask_to_apicid_and,
+       .cpu_mask_to_apicid             = flat_cpu_mask_to_apicid,
 
        .send_IPI                       = default_send_IPI_single,
        .send_IPI_mask                  = flat_send_IPI_mask,
        .get_apic_id                    = flat_get_apic_id,
        .set_apic_id                    = set_apic_id,
 
-       .cpu_mask_to_apicid_and         = default_cpu_mask_to_apicid_and,
+       .cpu_mask_to_apicid             = default_cpu_mask_to_apicid,
 
        .send_IPI                       = default_send_IPI_single_phys,
        .send_IPI_mask                  = default_send_IPI_mask_sequence_phys,
 
        .get_apic_id                    = noop_get_apic_id,
        .set_apic_id                    = NULL,
 
-       .cpu_mask_to_apicid_and         = flat_cpu_mask_to_apicid_and,
+       .cpu_mask_to_apicid             = flat_cpu_mask_to_apicid,
 
        .send_IPI                       = noop_send_IPI,
        .send_IPI_mask                  = noop_send_IPI_mask,
 
        .get_apic_id                    = numachip1_get_apic_id,
        .set_apic_id                    = numachip1_set_apic_id,
 
-       .cpu_mask_to_apicid_and         = default_cpu_mask_to_apicid_and,
+       .cpu_mask_to_apicid             = default_cpu_mask_to_apicid,
 
        .send_IPI                       = numachip_send_IPI_one,
        .send_IPI_mask                  = numachip_send_IPI_mask,
        .get_apic_id                    = numachip2_get_apic_id,
        .set_apic_id                    = numachip2_set_apic_id,
 
-       .cpu_mask_to_apicid_and         = default_cpu_mask_to_apicid_and,
+       .cpu_mask_to_apicid             = default_cpu_mask_to_apicid,
 
        .send_IPI                       = numachip_send_IPI_one,
        .send_IPI_mask                  = numachip_send_IPI_mask,
 
        .get_apic_id                    = bigsmp_get_apic_id,
        .set_apic_id                    = NULL,
 
-       .cpu_mask_to_apicid_and         = default_cpu_mask_to_apicid_and,
+       .cpu_mask_to_apicid             = default_cpu_mask_to_apicid,
 
        .send_IPI                       = default_send_IPI_single_phys,
        .send_IPI_mask                  = default_send_IPI_mask_sequence_phys,
 
        .get_apic_id                    = default_get_apic_id,
        .set_apic_id                    = NULL,
 
-       .cpu_mask_to_apicid_and         = flat_cpu_mask_to_apicid_and,
+       .cpu_mask_to_apicid             = flat_cpu_mask_to_apicid,
 
        .send_IPI                       = default_send_IPI_single,
        .send_IPI_mask                  = default_send_IPI_mask_logical,
 
                /*
                 * Clear the offline cpus from @vector_cpumask for searching
                 * and verify whether the result overlaps with @mask. If true,
-                * then the call to apic->cpu_mask_to_apicid_and() will
+                * then the call to apic->cpu_mask_to_apicid() will
                 * succeed as well. If not, no point in trying to find a
                 * vector in this mask.
                 */
         * vector_searchmask is a subset of d->domain and has the offline
         * cpus masked out.
         */
-       BUG_ON(apic->cpu_mask_to_apicid_and(mask, vector_searchmask,
-                                           &d->cfg.dest_apicid));
+       cpumask_and(vector_searchmask, vector_searchmask, mask);
+       BUG_ON(apic->cpu_mask_to_apicid(vector_searchmask, &d->cfg.dest_apicid));
        return 0;
 }
 
 
 }
 
 static int
-x2apic_cpu_mask_to_apicid_and(const struct cpumask *cpumask,
-                             const struct cpumask *andmask,
-                             unsigned int *apicid)
+x2apic_cpu_mask_to_apicid(const struct cpumask *mask, unsigned int *apicid)
 {
        unsigned int cpu;
        u32 dest = 0;
        u16 cluster;
 
-       cpu = cpumask_first_and(cpumask, andmask);
+       cpu = cpumask_first(mask);
        if (cpu >= nr_cpu_ids)
                return -EINVAL;
 
        dest = per_cpu(x86_cpu_to_logical_apicid, cpu);
        cluster = x2apic_cluster(cpu);
 
-       for_each_cpu_and(cpu, cpumask, andmask) {
+       for_each_cpu(cpu, mask) {
                if (cluster != x2apic_cluster(cpu))
                        continue;
                dest |= per_cpu(x86_cpu_to_logical_apicid, cpu);
        .get_apic_id                    = x2apic_get_apic_id,
        .set_apic_id                    = x2apic_set_apic_id,
 
-       .cpu_mask_to_apicid_and         = x2apic_cpu_mask_to_apicid_and,
+       .cpu_mask_to_apicid             = x2apic_cpu_mask_to_apicid,
 
        .send_IPI                       = x2apic_send_IPI,
        .send_IPI_mask                  = x2apic_send_IPI_mask,
 
        .get_apic_id                    = x2apic_get_apic_id,
        .set_apic_id                    = x2apic_set_apic_id,
 
-       .cpu_mask_to_apicid_and         = default_cpu_mask_to_apicid_and,
+       .cpu_mask_to_apicid             = default_cpu_mask_to_apicid,
 
        .send_IPI                       = x2apic_send_IPI,
        .send_IPI_mask                  = x2apic_send_IPI_mask,
 
 }
 
 static int
-uv_cpu_mask_to_apicid_and(const struct cpumask *cpumask,
-                         const struct cpumask *andmask,
-                         unsigned int *apicid)
+uv_cpu_mask_to_apicid(const struct cpumask *mask, unsigned int *apicid)
 {
-       int ret = default_cpu_mask_to_apicid_and(cpumask, andmask, apicid);
+       int ret = default_cpu_mask_to_apicid(mask, apicid);
 
        if (!ret)
                *apicid |= uv_apicid_hibits;
        .get_apic_id                    = x2apic_get_apic_id,
        .set_apic_id                    = set_apic_id,
 
-       .cpu_mask_to_apicid_and         = uv_cpu_mask_to_apicid_and,
+       .cpu_mask_to_apicid             = uv_cpu_mask_to_apicid,
 
        .send_IPI                       = uv_send_IPI_one,
        .send_IPI_mask                  = uv_send_IPI_mask,
 
        .get_apic_id                    = xen_get_apic_id,
        .set_apic_id                    = xen_set_apic_id, /* Can be NULL on 32-bit. */
 
-       .cpu_mask_to_apicid_and         = flat_cpu_mask_to_apicid_and,
+       .cpu_mask_to_apicid             = flat_cpu_mask_to_apicid,
 
 #ifdef CONFIG_SMP
        .send_IPI_mask                  = xen_send_IPI_mask,