[PATCH 0/2] genirq: Make irqchip flags work with stacked irq domains

From: Marc Zyngier
Date: Thu Jan 08 2015 - 12:33:01 EST


With the landing of stacked irq domains in 3.19, we have ended up in a
situation where we have a stack of IRQ controllers, each with their
set of flags, but the core code is only able to look at the top-most,
which is not very helpful. This small series is trying to fix this.

The first patch converts all access to desc->irq_data.chip->flags to
using an accessor, without changing anything else. The second patch
adds some logic to combine these flags as we allocate the interrupts,
ultimately storing the resulting set as part of the irq_desc
structure.

We end-up with a configuration where the flags can either be located
in the irq_chip structure (non stacked case), or in the irq_desc
(stacked case). While this isn't really ideal, this gives at least the
right level of information to the rest of the IRQ framework.

Based on 3.19-rc3, and available at:
git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git irq/stacked-irqchip-flags

Marc Zyngier (2):
genirq: Abstract access to irq_chip flags
genirq: Allow irq_desc to carry the union of stacked irq_chip flags

include/linux/irq.h | 4 ++++
include/linux/irqdesc.h | 12 ++++++++++++
kernel/irq/chip.c | 10 +++++-----
kernel/irq/irqdesc.c | 3 +++
kernel/irq/irqdomain.c | 20 +++++++++++++++++++-
kernel/irq/manage.c | 6 +++---
kernel/irq/pm.c | 2 +-
7 files changed, 47 insertions(+), 10 deletions(-)

--
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/