From: Rusty Russell <rusty@rustcorp.com.au>
Subject: cpumask: get rid of first_cpu()

It's been long deprecated in favor of cpumask_first: this gets rid of
the last few users and the definition.  

(next_cpu needs to stay for the moment: the SMP version of
for_each_cpu_mask() uses it).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 arch/ia64/kernel/msi_ia64.c        |    6 +++---
 arch/mips/kernel/irq-gic.c         |    4 ++--
 arch/parisc/kernel/irq.c           |    4 ++--
 drivers/clocksource/dw_apb_timer.c |    2 +-
 include/linux/cpumask.h            |    4 ----
 lib/cpumask.c                      |    6 ------
 6 files changed, 8 insertions(+), 18 deletions(-)

diff --git a/arch/ia64/kernel/msi_ia64.c b/arch/ia64/kernel/msi_ia64.c
--- a/arch/ia64/kernel/msi_ia64.c
+++ b/arch/ia64/kernel/msi_ia64.c
@@ -17,7 +17,7 @@ static int ia64_set_msi_irq_affinity(str
 {
 	struct msi_msg msg;
 	u32 addr, data;
-	int cpu = first_cpu(*cpu_mask);
+	int cpu = cpumask_first(cpu_mask);
 	unsigned int irq = idata->irq;
 
 	if (!cpu_online(cpu))
@@ -58,7 +58,7 @@ int ia64_setup_msi_irq(struct pci_dev *p
 
 	irq_set_msi_desc(irq, desc);
 	cpumask_and(&mask, &(irq_to_domain(irq)), cpu_online_mask);
-	dest_phys_id = cpu_physical_id(first_cpu(mask));
+	dest_phys_id = cpu_physical_id(cpumask_first(&mask));
 	vector = irq_to_vector(irq);
 
 	msg.address_hi = 0;
@@ -180,7 +180,7 @@ msi_compose_msg(struct pci_dev *pdev, un
 	cpumask_t mask;
 
 	cpumask_and(&mask, &(irq_to_domain(irq)), cpu_online_mask);
-	dest = cpu_physical_id(first_cpu(mask));
+	dest = cpu_physical_id(cpumask_first(&mask));
 
 	msg->address_hi = 0;
 	msg->address_lo =
diff --git a/arch/mips/kernel/irq-gic.c b/arch/mips/kernel/irq-gic.c
--- a/arch/mips/kernel/irq-gic.c
+++ b/arch/mips/kernel/irq-gic.c
@@ -133,12 +133,12 @@ static int gic_set_affinity(struct irq_d
 	spin_lock_irqsave(&gic_lock, flags);
 	for (;;) {
 		/* Re-route this IRQ */
-		GIC_SH_MAP_TO_VPE_SMASK(irq, first_cpu(tmp));
+		GIC_SH_MAP_TO_VPE_SMASK(irq, cpumask_first(&tmp));
 
 		/* Update the pcpu_masks */
 		for (i = 0; i < NR_CPUS; i++)
 			clear_bit(irq, pcpu_masks[i].pcpu_mask);
-		set_bit(irq, pcpu_masks[first_cpu(tmp)].pcpu_mask);
+		set_bit(irq, pcpu_masks[cpumask_first(&tmp)].pcpu_mask);
 
 	}
 	cpumask_copy(d->affinity, cpumask);
diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c
--- a/arch/parisc/kernel/irq.c
+++ b/arch/parisc/kernel/irq.c
@@ -117,7 +117,7 @@ int cpu_check_affinity(struct irq_data *
 		return -EINVAL;
 
 	/* whatever mask they set, we just allow one CPU */
-	cpu_dest = first_cpu(*dest);
+	cpu_dest = cpumask_first(dest);
 
 	return cpu_dest;
 }
@@ -355,7 +355,7 @@ void do_cpu_irq_mask(struct pt_regs *reg
 	cpumask_copy(&dest, desc->irq_data.affinity);
 	if (irqd_is_per_cpu(&desc->irq_data) &&
 	    !cpu_isset(smp_processor_id(), dest)) {
-		int cpu = first_cpu(dest);
+		int cpu = cpumask_first(&dest);
 
 		printk(KERN_DEBUG "redirecting irq %d from CPU %d to %d\n",
 		       irq, smp_processor_id(), cpu);
diff --git a/drivers/clocksource/dw_apb_timer.c b/drivers/clocksource/dw_apb_timer.c
--- a/drivers/clocksource/dw_apb_timer.c
+++ b/drivers/clocksource/dw_apb_timer.c
@@ -117,7 +117,7 @@ static void apbt_set_mode(enum clock_eve
 	unsigned long period;
 	struct dw_apb_clock_event_device *dw_ced = ced_to_dw_apb_ced(evt);
 
-	pr_debug("%s CPU %d mode=%d\n", __func__, first_cpu(*evt->cpumask),
+	pr_debug("%s CPU %d mode=%d\n", __func__, cpumask_first(evt->cpumask),
 		 mode);
 
 	switch (mode) {
diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
--- a/include/linux/cpumask.h
+++ b/include/linux/cpumask.h
@@ -794,16 +794,12 @@ static inline const struct cpumask *get_
 } }
 
 #if NR_CPUS == 1
-#define first_cpu(src)		({ (void)(src); 0; })
-#define next_cpu(n, src)	({ (void)(src); 1; })
 #define any_online_cpu(mask)	0
 #define for_each_cpu_mask(cpu, mask)	\
 	for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask)
 #else /* NR_CPUS > 1 */
-int __first_cpu(const cpumask_t *srcp);
 int __next_cpu(int n, const cpumask_t *srcp);
 
-#define first_cpu(src)		__first_cpu(&(src))
 #define next_cpu(n, src)	__next_cpu((n), &(src))
 #define any_online_cpu(mask) cpumask_any_and(&mask, cpu_online_mask)
 #define for_each_cpu_mask(cpu, mask)			\
diff --git a/lib/cpumask.c b/lib/cpumask.c
--- a/lib/cpumask.c
+++ b/lib/cpumask.c
@@ -6,12 +6,6 @@
 #include <linux/bootmem.h>
 
 #ifndef CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
-int __first_cpu(const cpumask_t *srcp)
-{
-	return min_t(int, NR_CPUS, find_first_bit(srcp->bits, NR_CPUS));
-}
-EXPORT_SYMBOL(__first_cpu);
-
 int __next_cpu(int n, const cpumask_t *srcp)
 {
 	return min_t(int, NR_CPUS, find_next_bit(srcp->bits, NR_CPUS, n+1));
