Skip to contentSkip to conversation

genirq support for GIC PPIs

GIT PULL Marc Zyngier 2 participants 5 messages Oct 20, 2011

lore
Share & tools
lore
#0 lore raw

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...
#1 lore raw
Quoted 8 lines · Marc Zyngier

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

Quoted 8 lines

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

I thought you said some of these were in Thomas' tree already?

#2 lore raw
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 __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

Quoted 4 lines
Quoted 2 lines

Thomas Gleixner (1):
genirq: Fix fatfinered fixup really

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?

	M.
Signature · 1 line
Jazz is not dead. It just smells funny...
#3 lore raw
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 __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

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.)

#4 lore raw
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 __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

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.)

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...