genirq: Provide an IRQ affinity mask in non-SMP configs
authorSamuel Holland <samuel@sholland.org>
Fri, 1 Jul 2022 20:00:56 +0000 (15:00 -0500)
committerMarc Zyngier <maz@kernel.org>
Thu, 7 Jul 2022 08:38:04 +0000 (09:38 +0100)
commitaa0813581b8d37bdd91cd40b67ef79ffa45104b2
tree46ac9b881b3a2ed8a57661b83bb5a408447d83b2
parent4d0b8298818b623f5fa51d5c49e1a142d3618ac9
genirq: Provide an IRQ affinity mask in non-SMP configs

IRQ affinity masks are not allocated in uniprocessor configurations.
This requires special case non-SMP code in drivers for irqchips which
have per-CPU enable or mask registers.

Since IRQ affinity is always the same in a uniprocessor configuration,
we can provide a correct affinity mask without allocating one per IRQ.

By returning a real cpumask from irq_data_get_affinity_mask even when
SMP is disabled, irqchip drivers which iterate over that mask will
automatically do the right thing.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220701200056.46555-9-samuel@sholland.org
include/linux/irq.h