| Submitter | Marc Zyngier |
|---|---|
| Date | Nov. 16, 2011, 11:23 a.m. |
| Message ID | <4EC39D44.8000706@arm.com> |
| Download | mbox |
| Permalink | /patch/125972/ |
| State | New |
| Headers | show |
Pull-request
git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git irqchip-consolidationComments
On Wed, Nov 16, 2011 at 11:23:48AM +0000, Marc Zyngier wrote: > I've collected patches converting GIC and VIC based platforms to use the > MULTI_IRQ_HANDLER configuration option in a single branch (as they depend > on a common patch). > > It also include the patch adding non-banked support to the GIC, which is > required to convert EXYNOS to MULTI_IRQ_HANDLER in a sane way (not to > mention fixing obvious bugs). > > If you're happy with this, feel free to pull this branch. We need to sort out the conflicts between this and the arch_reset stuff I'm carrying, because I'm not going to fight git from this early in the cycle, dealing with stuff like this: CONFLICT (delete/modify): arch/arm/mach-omap2/include/mach/omap4-common.h deleted in HEAD and modified in devel-stable. Version devel-stable of arch/arm/mach-omap2/include/mach/omap4-common.h left in tree. which is immune to git rerere, and I'm sure as hell not going to keep on merging this with my for-next branch. Even though I've split out the conflicting cleanup commits from the arch_reset() stuff, many of them still don't have acked-bys from the maintainers of the affected code, so I don't feel like I can commit them to being stable. What we need are more responsive platform maintainers!
On 17/11/11 17:23, Russell King - ARM Linux wrote: > On Wed, Nov 16, 2011 at 11:23:48AM +0000, Marc Zyngier wrote: >> I've collected patches converting GIC and VIC based platforms to use the >> MULTI_IRQ_HANDLER configuration option in a single branch (as they depend >> on a common patch). >> >> It also include the patch adding non-banked support to the GIC, which is >> required to convert EXYNOS to MULTI_IRQ_HANDLER in a sane way (not to >> mention fixing obvious bugs). >> >> If you're happy with this, feel free to pull this branch. > > We need to sort out the conflicts between this and the arch_reset stuff > I'm carrying, because I'm not going to fight git from this early in the > cycle, dealing with stuff like this: > > CONFLICT (delete/modify): arch/arm/mach-omap2/include/mach/omap4-common.h deleted in HEAD and modified in devel-stable. Version devel-stable of arch/arm/mach-omap2/include/mach/omap4-common.h left in tree. > > which is immune to git rerere, and I'm sure as hell not going to keep on > merging this with my for-next branch. If you have a stable branch on which I can rebase, I'm happy to do it (I've just resolved these conflicts on -next). If it's more convenient to do it later in the cycle, I can wait. Just let me know what is the most convenient route for you. > Even though I've split out the conflicting cleanup commits from the > arch_reset() stuff, many of them still don't have acked-bys from the > maintainers of the affected code, so I don't feel like I can commit > them to being stable. While I perfectly understand how important it is to wait for maintainers to ack the patches, these patches have been posted multiple times over the past weeks/months, directly Cc-ing the relevant maintainers. Most of them have contributed Acked-by/Tested-by. In a few cases, the patches have fallen on deaf ears. Are these platforms now unmaintained? At that point, I'd be quite tempted to simply apply the patches and wait until someone screams back at me. > What we need are more responsive platform maintainers! Amen. M.
On Thu, Nov 17, 2011 at 05:23:19PM +0000, Russell King - ARM Linux wrote: > On Wed, Nov 16, 2011 at 11:23:48AM +0000, Marc Zyngier wrote: > > I've collected patches converting GIC and VIC based platforms to use the > > MULTI_IRQ_HANDLER configuration option in a single branch (as they depend > > on a common patch). > > > > It also include the patch adding non-banked support to the GIC, which is > > required to convert EXYNOS to MULTI_IRQ_HANDLER in a sane way (not to > > mention fixing obvious bugs). > > > > If you're happy with this, feel free to pull this branch. > > We need to sort out the conflicts between this and the arch_reset stuff > I'm carrying, because I'm not going to fight git from this early in the > cycle, dealing with stuff like this: > > CONFLICT (delete/modify): arch/arm/mach-omap2/include/mach/omap4-common.h deleted in HEAD and modified in devel-stable. Version devel-stable of arch/arm/mach-omap2/include/mach/omap4-common.h left in tree. > > which is immune to git rerere, and I'm sure as hell not going to keep on > merging this with my for-next branch. > > Even though I've split out the conflicting cleanup commits from the > arch_reset() stuff, many of them still don't have acked-bys from the > maintainers of the affected code, so I don't feel like I can commit > them to being stable. > > What we need are more responsive platform maintainers! and git rerere handling delete/modify conflicts. I don't know how it works internally, but I guess it's not trivial? Just in case it is and the only thing that stops you implementing it is that you don't know there is a need for it: voilà. Thanks Uwe
On Thu, Nov 17, 2011 at 06:08:59PM +0000, Marc Zyngier wrote: > If you have a stable branch on which I can rebase, I'm happy to do it > (I've just resolved these conflicts on -next). If it's more convenient > to do it later in the cycle, I can wait. Just let me know what is the > most convenient route for you. I've now merged the restart changes into the 'devel' branch, and then followed on with your changes on top of that - fixing the conflicts along the way. I decided not to push it out in the devel-stable branch until you've had a chance to verify that the conflict resolution is correct - I've added some limited explanations in the merge commit for the two things which weren't a trivial resolution. Once you've confirmed it's fine, I'll push the stuff over to the devel-stable branch. The devel branch also has nico's vmalloc stuff in too, and the whole lot should end up in linux-next later this week (maybe even tomorrow if sfr hasn't already picked up my tree.)
Hi Russell, On 21/11/11 22:00, Russell King - ARM Linux wrote: > On Thu, Nov 17, 2011 at 06:08:59PM +0000, Marc Zyngier wrote: >> If you have a stable branch on which I can rebase, I'm happy to do it >> (I've just resolved these conflicts on -next). If it's more convenient >> to do it later in the cycle, I can wait. Just let me know what is the >> most convenient route for you. > > I've now merged the restart changes into the 'devel' branch, and then > followed on with your changes on top of that - fixing the conflicts > along the way. > > I decided not to push it out in the devel-stable branch until you've > had a chance to verify that the conflict resolution is correct - I've > added some limited explanations in the merge commit for the two things > which weren't a trivial resolution. Once you've confirmed it's fine, > I'll push the stuff over to the devel-stable branch. I had a quick look at linux-next, and the conflict resolution seem perfectly sound. Thanks a lot for going through this, very much appreciated. M.
Russell, I've collected patches converting GIC and VIC based platforms to use the MULTI_IRQ_HANDLER configuration option in a single branch (as they depend on a common patch). It also include the patch adding non-banked support to the GIC, which is required to convert EXYNOS to MULTI_IRQ_HANDLER in a sane way (not to mention fixing obvious bugs). If you're happy with this, feel free to pull this branch. Thanks, M. The following changes since commit cfcfc9eca2bcbd26a8e206baeb005b055dbf8e37: Linus Torvalds (1): Linux 3.2-rc2 are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git irqchip-consolidation Jamie Iles (12): ARM: vic: device tree binding ARM: vic: MULTI_IRQ_HANDLER handler ARM: ep93xx: convert to MULTI_IRQ_HANDLER ARM: netx: convert to MULTI_IRQ_HANDLER ARM: nomadik: convert to MULTI_IRQ_HANDLER ARM: s3c64xx: convert to MULTI_IRQ_HANDLER ARM: spear: convert to MULTI_IRQ_HANDLER ARM: u300: convert to MULTI_IRQ_HANDLER ARM: versatile: convert to MULTI_IRQ_HANDLER ARM: samsung: convert to MULTI_IRQ_HANDLER ARM: picoxcell: convert to MULTI_IRQ_HANDLER ARM: VIC: remove non MULTI_IRQ_HANDLER support Marc Zyngier (19): ARM: gic: allow GIC to support non-banked setups ARM: Make global handler and CONFIG_MULTI_IRQ_HANDLER mutually exclusive ARM: mxc: rename gic_handle_irq to avoid name clash ARM: GIC: Add global gic_handle_irq() function ARM: imx: convert smp platforms to global gic_handle_irq() ARM: highbank: convert to CONFIG_MULTI_IRQ_HANDLER ARM: RealView: convert to CONFIG_MULTI_IRQ_HANDLER ARM: VExpress: convert to CONFIG_MULTI_IRQ_HANDLER ARM: msm: convert SMP platforms to CONFIG_MULTI_IRQ_HANDLER ARM: exynos4: convert to CONFIG_MULTI_IRQ_HANDLER ARM: tegra2: convert to CONFIG_MULTI_IRQ_HANDLER ARM: ux500: convert to CONFIG_MULTI_IRQ_HANDLER ARM: shmobile: convert smp platforms to gic_handle_irq() ARM: cns3xxx: convert to CONFIG_MULTI_IRQ_HANDLER ARM: zynq: convert to CONFIG_MULTI_IRQ_HANDLER ARM: omap2/3: Add global omap2/3_intc_handle_irq() functions ARM: omap2plus: convert to CONFIG_MULTI_IRQ_HANDLER ARM: omap2plus: remove irq-related global base addresses ARM: GIC: Make MULTI_IRQ_HANDLER mandatory Documentation/devicetree/bindings/arm/gic.txt | 4 + Documentation/devicetree/bindings/arm/vic.txt | 29 ++++ arch/arm/common/Kconfig | 6 + arch/arm/common/gic.c | 164 +++++++++++++++++--- arch/arm/common/vic.c | 143 ++++++++++++++---- arch/arm/include/asm/entry-macro-vic2.S | 57 ------- arch/arm/include/asm/hardware/entry-macro-gic.S | 60 ------- arch/arm/include/asm/hardware/gic.h | 26 +-- arch/arm/include/asm/hardware/vic.h | 10 +- arch/arm/kernel/entry-armv.S | 7 +- arch/arm/mach-cns3xxx/cns3420vb.c | 2 + arch/arm/mach-cns3xxx/include/mach/entry-macro.S | 2 - arch/arm/mach-ep93xx/adssphere.c | 2 + arch/arm/mach-ep93xx/edb93xx.c | 9 + arch/arm/mach-ep93xx/gesbc9312.c | 2 + arch/arm/mach-ep93xx/include/mach/entry-macro.S | 42 ----- arch/arm/mach-ep93xx/micro9.c | 5 + arch/arm/mach-ep93xx/simone.c | 2 + arch/arm/mach-ep93xx/snappercl15.c | 2 + arch/arm/mach-ep93xx/ts72xx.c | 2 + arch/arm/mach-exynos/cpu.c | 20 +-- arch/arm/mach-exynos/include/mach/entry-macro.S | 75 --------- arch/arm/mach-exynos/mach-armlex4210.c | 2 + arch/arm/mach-exynos/mach-nuri.c | 2 + arch/arm/mach-exynos/mach-origen.c | 2 + arch/arm/mach-exynos/mach-smdk4x12.c | 3 + arch/arm/mach-exynos/mach-smdkv310.c | 3 + arch/arm/mach-exynos/mach-universal_c210.c | 4 +- arch/arm/mach-exynos/platsmp.c | 28 +---- arch/arm/mach-highbank/highbank.c | 1 + arch/arm/mach-highbank/include/mach/entry-macro.S | 2 - arch/arm/mach-msm/board-msm8960.c | 2 + arch/arm/mach-msm/board-msm8x60.c | 4 + arch/arm/mach-msm/include/mach/entry-macro-qgic.S | 17 -- arch/arm/mach-msm/include/mach/entry-macro-vic.S | 37 ----- arch/arm/mach-msm/include/mach/entry-macro.S | 27 +++- arch/arm/mach-netx/include/mach/entry-macro.S | 13 -- arch/arm/mach-netx/nxdb500.c | 2 + arch/arm/mach-netx/nxdkn.c | 2 + arch/arm/mach-netx/nxeb500hmi.c | 2 + arch/arm/mach-nomadik/board-nhk8815.c | 2 + arch/arm/mach-nomadik/include/mach/entry-macro.S | 30 ---- arch/arm/mach-omap2/Kconfig | 2 + arch/arm/mach-omap2/board-2430sdp.c | 1 + arch/arm/mach-omap2/board-3430sdp.c | 1 + arch/arm/mach-omap2/board-3630sdp.c | 1 + arch/arm/mach-omap2/board-4430sdp.c | 2 + arch/arm/mach-omap2/board-am3517crane.c | 1 + arch/arm/mach-omap2/board-am3517evm.c | 1 + arch/arm/mach-omap2/board-apollon.c | 1 + arch/arm/mach-omap2/board-cm-t35.c | 2 + arch/arm/mach-omap2/board-cm-t3517.c | 1 + arch/arm/mach-omap2/board-devkit8000.c | 1 + arch/arm/mach-omap2/board-generic.c | 1 + arch/arm/mach-omap2/board-h4.c | 1 + arch/arm/mach-omap2/board-igep0020.c | 2 + arch/arm/mach-omap2/board-ldp.c | 1 + arch/arm/mach-omap2/board-n8x0.c | 3 + arch/arm/mach-omap2/board-omap3beagle.c | 1 + arch/arm/mach-omap2/board-omap3evm.c | 1 + arch/arm/mach-omap2/board-omap3logic.c | 2 + arch/arm/mach-omap2/board-omap3pandora.c | 1 + arch/arm/mach-omap2/board-omap3stalker.c | 1 + arch/arm/mach-omap2/board-omap3touchbook.c | 1 + arch/arm/mach-omap2/board-omap4panda.c | 2 + arch/arm/mach-omap2/board-overo.c | 1 + arch/arm/mach-omap2/board-rm680.c | 1 + arch/arm/mach-omap2/board-rx51.c | 1 + arch/arm/mach-omap2/board-zoom.c | 2 + arch/arm/mach-omap2/include/mach/entry-macro.S | 137 ---------------- arch/arm/mach-omap2/include/mach/omap4-common.h | 2 - arch/arm/mach-omap2/io.c | 3 - arch/arm/mach-omap2/irq.c | 51 ++++++ arch/arm/mach-omap2/omap4-common.c | 6 +- arch/arm/mach-picoxcell/common.c | 9 +- arch/arm/mach-picoxcell/include/mach/entry-macro.S | 11 +- arch/arm/mach-pxa/include/mach/entry-macro.S | 36 ----- arch/arm/mach-realview/include/mach/entry-macro.S | 2 - arch/arm/mach-realview/realview_eb.c | 1 + arch/arm/mach-realview/realview_pb1176.c | 1 + arch/arm/mach-realview/realview_pb11mp.c | 1 + arch/arm/mach-realview/realview_pba8.c | 1 + arch/arm/mach-realview/realview_pbx.c | 1 + arch/arm/mach-s3c64xx/include/mach/entry-macro.S | 7 +- arch/arm/mach-s3c64xx/mach-anw6410.c | 2 + arch/arm/mach-s3c64xx/mach-crag6410.c | 2 + arch/arm/mach-s3c64xx/mach-hmt.c | 2 + arch/arm/mach-s3c64xx/mach-mini6410.c | 2 + arch/arm/mach-s3c64xx/mach-ncp.c | 2 + arch/arm/mach-s3c64xx/mach-real6410.c | 2 + arch/arm/mach-s3c64xx/mach-smartq5.c | 2 + arch/arm/mach-s3c64xx/mach-smartq7.c | 2 + arch/arm/mach-s3c64xx/mach-smdk6400.c | 2 + arch/arm/mach-s3c64xx/mach-smdk6410.c | 2 + arch/arm/mach-s5p64x0/include/mach/entry-macro.S | 7 +- arch/arm/mach-s5p64x0/mach-smdk6440.c | 2 + arch/arm/mach-s5p64x0/mach-smdk6450.c | 2 + arch/arm/mach-s5pc100/include/mach/entry-macro.S | 25 --- arch/arm/mach-s5pc100/mach-smdkc100.c | 2 + arch/arm/mach-s5pv210/include/mach/entry-macro.S | 37 ----- arch/arm/mach-s5pv210/mach-aquila.c | 2 + arch/arm/mach-s5pv210/mach-goni.c | 2 + arch/arm/mach-s5pv210/mach-smdkc110.c | 2 + arch/arm/mach-s5pv210/mach-smdkv210.c | 2 + arch/arm/mach-s5pv210/mach-torbreck.c | 2 + arch/arm/mach-shmobile/Makefile | 1 - arch/arm/mach-shmobile/board-ag5evm.c | 2 +- arch/arm/mach-shmobile/board-kota2.c | 2 +- arch/arm/mach-shmobile/entry-gic.S | 18 -- arch/arm/mach-shmobile/include/mach/common.h | 1 - arch/arm/mach-shmobile/include/mach/entry-macro.S | 9 - arch/arm/mach-spear3xx/include/mach/entry-macro.S | 27 ---- arch/arm/mach-spear3xx/spear300_evb.c | 2 + arch/arm/mach-spear3xx/spear310_evb.c | 2 + arch/arm/mach-spear3xx/spear320_evb.c | 2 + arch/arm/mach-spear6xx/include/mach/entry-macro.S | 36 ----- arch/arm/mach-spear6xx/spear600_evb.c | 2 + arch/arm/mach-tegra/board-dt.c | 2 + arch/arm/mach-tegra/board-harmony.c | 2 + arch/arm/mach-tegra/board-paz00.c | 2 + arch/arm/mach-tegra/board-seaboard.c | 4 + arch/arm/mach-tegra/board-trimslice.c | 2 + arch/arm/mach-tegra/include/mach/entry-macro.S | 22 +--- arch/arm/mach-u300/include/mach/entry-macro.S | 24 --- arch/arm/mach-u300/u300.c | 2 + arch/arm/mach-ux500/board-mop500.c | 4 + arch/arm/mach-ux500/board-u5500.c | 2 + arch/arm/mach-ux500/include/mach/entry-macro.S | 2 - arch/arm/mach-versatile/include/mach/entry-macro.S | 30 ---- arch/arm/mach-versatile/versatile_ab.c | 2 + arch/arm/mach-versatile/versatile_dt.c | 2 + arch/arm/mach-versatile/versatile_pb.c | 2 + arch/arm/mach-vexpress/include/mach/entry-macro.S | 2 - arch/arm/mach-vexpress/v2m.c | 2 + arch/arm/mach-zynq/common.c | 1 + arch/arm/mach-zynq/include/mach/entry-macro.S | 3 - arch/arm/plat-mxc/Makefile | 1 - arch/arm/plat-mxc/gic.c | 41 ----- arch/arm/plat-mxc/include/mach/common.h | 1 - arch/arm/plat-mxc/include/mach/entry-macro.S | 11 -- arch/arm/plat-omap/include/plat/irqs.h | 3 +- arch/arm/plat-s5p/Kconfig | 1 + 142 files changed, 590 insertions(+), 950 deletions(-) create mode 100644 Documentation/devicetree/bindings/arm/vic.txt delete mode 100644 arch/arm/include/asm/entry-macro-vic2.S delete mode 100644 arch/arm/include/asm/hardware/entry-macro-gic.S delete mode 100644 arch/arm/mach-msm/include/mach/entry-macro-qgic.S delete mode 100644 arch/arm/mach-msm/include/mach/entry-macro-vic.S delete mode 100644 arch/arm/mach-shmobile/entry-gic.S delete mode 100644 arch/arm/plat-mxc/gic.c