linux-next: manual merge of the tip tree with the mips tree
From: Stephen Rothwell
Date: Mon Sep 04 2017 - 00:27:05 EST
Hi all,
Today's linux-next merge of the tip tree got a conflict in:
drivers/irqchip/irq-mips-gic.c
between commit:
ac04be51a650 ("irqchip: mips-gic: Remove gic_map_to_vpe()")
b6e583e41993 ("irqchip: mips-gic: Make pcpu_masks a per-cpu variable")
6ab4fb2810db ("irqchip: mips-gic: Use pcpu_masks to avoid reading GIC_SH_MASK*")
0429ecf6a6b4 ("irqchip: mips-gic: Use cpumask_first_and() in gic_set_affinity()")
69aa0cbafce1 ("irqchip: mips-gic: Let the core set struct irq_common_data affinity")
from the mips tree and commit:
18416e45b761 ("irqchip/mips-gic: Report that effective affinity is a single target")
from the tip tree.
I fixed it up (I think - see below, and please check result) and can
carry the fix as necessary. This is now fixed as far as linux-next is
concerned, but any non trivial conflicts should be mentioned to your
upstream maintainer when your tree is submitted for merging. You may
also want to consider cooperating with the maintainer of the conflicting
tree to minimise any particularly complex conflicts.
--
Cheers,
Stephen Rothwell
diff --cc drivers/irqchip/irq-mips-gic.c
index 7187af1bea03,6461380ff1a4..000000000000
--- a/drivers/irqchip/irq-mips-gic.c
+++ b/drivers/irqchip/irq-mips-gic.c
@@@ -261,16 -457,18 +261,17 @@@ static int gic_set_affinity(struct irq_
spin_lock_irqsave(&gic_lock, flags);
/* Re-route this IRQ */
- gic_map_to_vpe(irq, mips_cm_vp_id(cpu));
+ write_gic_map_vp(irq, BIT(mips_cm_vp_id(cpu)));
/* Update the pcpu_masks */
- for (i = 0; i < min(gic_vpes, NR_CPUS); i++)
- clear_bit(irq, pcpu_masks[i].pcpu_mask);
- set_bit(irq, pcpu_masks[cpu].pcpu_mask);
+ gic_clear_pcpu_masks(irq);
+ if (read_gic_mask(irq))
+ set_bit(irq, per_cpu_ptr(pcpu_masks, cpu));
- cpumask_copy(irq_data_get_affinity_mask(d), cpumask);
+ irq_data_update_effective_affinity(d, cpumask_of(cpu));
spin_unlock_irqrestore(&gic_lock, flags);
- return IRQ_SET_MASK_OK_NOCOPY;
+ return IRQ_SET_MASK_OK;
}
#endif