Merge tag 'irqchip-4.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/urgent

Pull irqchip updates from Marc Zyngier

- A GICv3 initialisation fix when some CPUs fail to be brought up
- A GICv4 compile fix for GCC 4.5 (!)
- A MIPS-GIC fix for the PCIe support

Changed files
+16 -10
drivers
+4 -4
drivers/irqchip/irq-gic-v3.c
··· 1042 1042 { 1043 1043 const __be32 *cell; 1044 1044 u64 hwid; 1045 - int i; 1045 + int cpu; 1046 1046 1047 1047 cell = of_get_property(dn, "reg", NULL); 1048 1048 if (!cell) ··· 1056 1056 if (hwid & ~MPIDR_HWID_BITMASK) 1057 1057 return -1; 1058 1058 1059 - for (i = 0; i < num_possible_cpus(); i++) 1060 - if (cpu_logical_map(i) == hwid) 1061 - return i; 1059 + for_each_possible_cpu(cpu) 1060 + if (cpu_logical_map(cpu) == hwid) 1061 + return cpu; 1062 1062 1063 1063 return -1; 1064 1064 }
+9 -3
drivers/irqchip/irq-gic-v4.c
··· 173 173 { 174 174 struct its_cmd_info info = { 175 175 .cmd_type = MAP_VLPI, 176 - .map = map, 176 + { 177 + .map = map, 178 + }, 177 179 }; 178 180 179 181 /* ··· 191 189 { 192 190 struct its_cmd_info info = { 193 191 .cmd_type = GET_VLPI, 194 - .map = map, 192 + { 193 + .map = map, 194 + }, 195 195 }; 196 196 197 197 return irq_set_vcpu_affinity(irq, &info); ··· 209 205 { 210 206 struct its_cmd_info info = { 211 207 .cmd_type = inv ? PROP_UPDATE_AND_INV_VLPI : PROP_UPDATE_VLPI, 212 - .config = config, 208 + { 209 + .config = config, 210 + }, 213 211 }; 214 212 215 213 return irq_set_vcpu_affinity(irq, &info);
+3 -3
drivers/irqchip/irq-mips-gic.c
··· 169 169 { 170 170 unsigned int intr = GIC_HWIRQ_TO_SHARED(d->hwirq); 171 171 172 - write_gic_rmask(BIT(intr)); 172 + write_gic_rmask(intr); 173 173 gic_clear_pcpu_masks(intr); 174 174 } 175 175 ··· 179 179 unsigned int intr = GIC_HWIRQ_TO_SHARED(d->hwirq); 180 180 unsigned int cpu; 181 181 182 - write_gic_smask(BIT(intr)); 182 + write_gic_smask(intr); 183 183 184 184 gic_clear_pcpu_masks(intr); 185 185 cpu = cpumask_first_and(affinity, cpu_online_mask); ··· 767 767 for (i = 0; i < gic_shared_intrs; i++) { 768 768 change_gic_pol(i, GIC_POL_ACTIVE_HIGH); 769 769 change_gic_trig(i, GIC_TRIG_LEVEL); 770 - write_gic_rmask(BIT(i)); 770 + write_gic_rmask(i); 771 771 } 772 772 773 773 for (i = 0; i < gic_vpes; i++) {