genirq support for GIC PPIs
Russell,
Please pull the following branch to get the genirq support for the GIC PPIs.
Thanks,
M.
The following changes since commit 5a567d78c437e3be1c512734cdfe64b4ae6b82d7:
Jamie Iles (1):
ARM: 7115/4: move __exception and friends to asm/exception.h
are available in the git repository at:
git://github.com/mzyngier/arm-platforms.git ppi-for-rmk
Marc Zyngier (4):
genirq: Add support for per-cpu dev_id interrupts
genirq: percpu: allow interrupt type to be set at enable time
ARM: gic: consolidate PPI handling
ARM: gic, local timers: use the request_percpu_irq() interface
Thomas Gleixner (1):
genirq: Fix fatfinered fixup really
arch/arm/common/gic.c | 43 +++- arch/arm/include/asm/entry-macro-multi.S | 7 - arch/arm/include/asm/hardirq.h | 3 - arch/arm/include/asm/hardware/entry-macro-gic.S | 19 +-- arch/arm/include/asm/hardware/gic.h | 1 - arch/arm/include/asm/localtimer.h | 23 +-- arch/arm/include/asm/smp.h | 5 - arch/arm/include/asm/smp_twd.h | 2 +- arch/arm/kernel/irq.c | 3 - arch/arm/kernel/smp.c | 38 +---- arch/arm/kernel/smp_twd.c | 47 +++++- arch/arm/mach-exynos4/include/mach/entry-macro.S | 7 +- arch/arm/mach-exynos4/mct.c | 7 +- arch/arm/mach-msm/board-msm8x60.c | 11 - arch/arm/mach-msm/include/mach/entry-macro-qgic.S | 73 +------- arch/arm/mach-msm/timer.c | 69 ++++--- arch/arm/mach-omap2/include/mach/entry-macro.S | 14 +-- arch/arm/mach-shmobile/entry-intc.S | 3 - arch/arm/mach-shmobile/include/mach/entry-macro.S | 3 - include/linux/interrupt.h | 38 +++- include/linux/irq.h | 16 ++- include/linux/irqdesc.h | 1 + kernel/irq/chip.c | 64 ++++++- kernel/irq/internals.h | 19 ++- kernel/irq/irqdesc.c | 32 +++- kernel/irq/manage.c | 215 ++++++++++++++++++++- kernel/irq/settings.h | 7 + 27 files changed, 496 insertions(+), 274 deletions(-)
Signature · 1 line
Jazz is not dead. It just smells funny...
Quoted 8 lines · Marc Zyngier
The following changes since commit
5a567d78c437e3be1c512734cdfe64b4ae6b82d7:
Jamie Iles (1):
ARM: 7115/4: move__exceptionand friends toasm/exception.hare available in the git repository at:
git://github.com/mzyngier/arm-platforms.gitppi-for-rmk
Quoted 8 lines
Marc Zyngier (4):
genirq: Add support for per-cpudev_idinterrupts
genirq: percpu: allow interrupt type to be set at enable time
ARM: gic: consolidate PPI handling
ARM: gic, local timers: use therequest_percpu_irq()interfaceThomas Gleixner (1):
genirq: Fix fatfinered fixup really
I thought you said some of these were in Thomas' tree already?
Quoted 15 lines · Russell King - ARM Linux
Quoted 14 lines · Marc Zyngier
The following changes since commit
5a567d78c437e3be1c512734cdfe64b4ae6b82d7:
Jamie Iles (1):
ARM: 7115/4: move__exceptionand friends toasm/exception.hare available in the git repository at:
git://github.com/mzyngier/arm-platforms.gitppi-for-rmkMarc Zyngier (4):
genirq: Add support for per-cpudev_idinterrupts
genirq: percpu: allow interrupt type to be set at enable time
ARM: gic: consolidate PPI handling
ARM: gic, local timers: use therequest_percpu_irq()interface
Quoted 4 lines
Quoted 2 lines
Thomas Gleixner (1):
genirq: Fix fatfinered fixup reallyI thought you said some of these were in Thomas' tree already?
The first three patches are in Thomas' tree indeed. I could drop them from my branch, but the resulting tree would not compile anymore.
What strategy would cause the least merging pain?
M.
Signature · 1 line
Jazz is not dead. It just smells funny...
Quoted 19 lines · Marc Zyngier
Quoted 18 lines · Russell King - ARM Linux
Quoted 16 lines · Marc Zyngier
The following changes since commit
5a567d78c437e3be1c512734cdfe64b4ae6b82d7:
Jamie Iles (1):
ARM: 7115/4: move__exceptionand friends toasm/exception.hare available in the git repository at:
git://github.com/mzyngier/arm-platforms.gitppi-for-rmkMarc Zyngier (4):
genirq: Add support for per-cpudev_idinterrupts
genirq: percpu: allow interrupt type to be set at enable time
ARM: gic: consolidate PPI handling
ARM: gic, local timers: use therequest_percpu_irq()interfaceThomas Gleixner (1):
genirq: Fix fatfinered fixup really
Quoted 6 lines
Quoted 1 line
I thought you said some of these were in Thomas' tree already?
The first three patches are in Thomas' tree indeed. I could drop them from my branch, but the resulting tree would not compile anymore.
What strategy would cause the least merging pain?
The only thing I can think is that you need to start off with a tree with 5a567d78c437e3be1c512734cdfe64b4ae6b82d7 as the top commit, merge into that the last commit which you need from Thomas' tree (iow, "genirq: percpu: allow interrupt type to be set at enable time" or maybe "genirq: Fix fatfinered fixup really") and then apply the last two GIC patches on top of that merge commit.
However, I guess Thomas already has many other commits queued up for mainline before these changes - which would make those commits become part of my tree.
That causes problems because if Thomas pushes first, my tree ends up with multiple ancestors, which makes it impossible to generate a diffstat for my push to Linus. The flip-side is if I push before Thomas, then I'm pushing Thomas' commits into mainline myself (which means I then need to explain Thomas' generic changes to Linus and why they're part of my tree.)
Cross-tree dependencies like this really suck.
I'm really tempted to postpone this to the following merge window to 'solve' these dependencies (because by that time their dependencies should all be merged into mainline, which makes things nice and simple.)
Quoted 45 lines · Russell King - ARM Linux
Quoted 19 lines · Marc Zyngier
Quoted 18 lines · Russell King - ARM Linux
Quoted 16 lines · Marc Zyngier
The following changes since commit
5a567d78c437e3be1c512734cdfe64b4ae6b82d7:
Jamie Iles (1):
ARM: 7115/4: move__exceptionand friends toasm/exception.hare available in the git repository at:
git://github.com/mzyngier/arm-platforms.gitppi-for-rmkMarc Zyngier (4):
genirq: Add support for per-cpudev_idinterrupts
genirq: percpu: allow interrupt type to be set at enable time
ARM: gic: consolidate PPI handling
ARM: gic, local timers: use therequest_percpu_irq()interfaceThomas Gleixner (1):
genirq: Fix fatfinered fixup reallyQuoted 6 lines
Quoted 1 line
I thought you said some of these were in Thomas' tree already?
The first three patches are in Thomas' tree indeed. I could drop them from my branch, but the resulting tree would not compile anymore.
What strategy would cause the least merging pain?
The only thing I can think is that you need to start off with a tree with
5a567d78c437e3be1c512734cdfe64b4ae6b82d7as the top commit, merge into that the last commit which you need from Thomas' tree (iow, "genirq: percpu: allow interrupt type to be set at enable time" or maybe "genirq: Fix fatfinered fixup really") and then apply the last two GIC patches on top of that merge commit.However, I guess Thomas already has many other commits queued up for mainline before these changes - which would make those commits become part of my tree.
That causes problems because if Thomas pushes first, my tree ends up with multiple ancestors, which makes it impossible to generate a diffstat for my push to Linus. The flip-side is if I push before Thomas, then I'm pushing Thomas' commits into mainline myself (which means I then need to explain Thomas' generic changes to Linus and why they're part of my tree.)
Quoted 5 lines
Cross-tree dependencies like this really suck.
I'm really tempted to postpone this to the following merge window to 'solve' these dependencies (because by that time their dependencies should all be merged into mainline, which makes things nice and simple.)
Could we just wait until Thomas' branch has reached mainline, and then try another pull request with only the last two patches?
I understand this is tricky, but waiting another merge window may lead to another bunch of conflicts and cross-tree madness (there's some MULTI_IRQ_HANDLER stuff coming from a number of parties as well RobH's GIC DT work).
Thanks,
M.
Signature · 1 line
Jazz is not dead. It just smells funny...