Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

parisc: Convert the final irq bits

1) As promised in the comment, the core does not copy cpumask anymore
when the arch code returns -EINVAL

2) Get the per cpu information from irq_data

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: linux-parisc@vger.kernel.org

+2 -7
+2 -7
arch/parisc/kernel/irq.c
··· 113 113 int cpu_dest; 114 114 115 115 /* timer and ipi have to always be received on all CPUs */ 116 - if (CHECK_IRQ_PER_CPU(irq_to_desc(d->irq)->status)) { 117 - /* Bad linux design decision. The mask has already 118 - * been set; we must reset it. Will fix - tglx 119 - */ 120 - cpumask_setall(d->affinity); 116 + if (irqd_is_per_cpu(d)) 121 117 return -EINVAL; 122 - } 123 118 124 119 /* whatever mask they set, we just allow one CPU */ 125 120 cpu_dest = first_cpu(*dest); ··· 352 357 #ifdef CONFIG_SMP 353 358 desc = irq_to_desc(irq); 354 359 cpumask_copy(&dest, desc->irq_data.affinity); 355 - if (CHECK_IRQ_PER_CPU(desc->status) && 360 + if (irqd_is_per_cpu(&desc->irq_data) && 356 361 !cpu_isset(smp_processor_id(), dest)) { 357 362 int cpu = first_cpu(dest); 358 363