From patchwork Wed Nov 16 11:23:48 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marc Zyngier X-Patchwork-Id: 125972 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Received: from merlin.infradead.org (merlin.infradead.org [IPv6:2001:4978:20e::2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id BC7CEB6F9D for ; Wed, 16 Nov 2011 22:27:10 +1100 (EST) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1RQdak-0004DN-9C; Wed, 16 Nov 2011 11:23:46 +0000 Received: from service87.mimecast.com ([91.220.42.44]) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1RQdaf-0004D9-Pb for linux-arm-kernel@lists.infradead.org; Wed, 16 Nov 2011 11:23:43 +0000 Received: from cam-owa2.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.21]) by service87.mimecast.com; Wed, 16 Nov 2011 11:23:36 +0000 Received: from [10.1.70.54] ([10.1.255.212]) by cam-owa2.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 16 Nov 2011 11:23:35 +0000 Message-ID: <4EC39D44.8000706@arm.com> Date: Wed, 16 Nov 2011 11:23:48 +0000 From: Marc Zyngier User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1 MIME-Version: 1.0 To: Russell King Subject: [GIT PULL] ARM irqchip consolidation X-Enigmail-Version: 1.4a1pre X-OriginalArrivalTime: 16 Nov 2011 11:23:35.0199 (UTC) FILETIME=[2DF1B2F0:01CCA452] X-MC-Unique: 111111611233602101 X-Spam-Note: CRM114 invocation failed X-Spam-Score: -2.6 (--) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-2.6 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [91.220.42.44 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: "jamie@jamieiles.com" , "linux-arm-kernel@lists.infradead.org" X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.14 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org 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