summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2011-12-05ARM: 7189/1: OMAP3: Fix build break in cpuidle34xx.c because of irq functionSantosh Shilimkar
Fix the below build break by including common.h arch/arm/mach-omap2/cpuidle34xx.c: In function 'omap3_enter_idle': arch/arm/mach-omap2/cpuidle34xx.c:117: error: implicit declaration of function 'omap_irq_pending' make[1]: *** [arch/arm/mach-omap2/cpuidle34xx.o] Error 1 make: *** [arch/arm/mach-omap2] Error 2 Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-12-05ARM: 7188/1: OMAP2PLUS: Fix build error: 'omap2/omap3_intc_handle_irq' ↵Santosh Shilimkar
undeclared. Fix the build break by adding the necessary irq functions to common header. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-12-03Merge branch 'irqchip-consolidation' of ↵Russell King
git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into devel-stable
2011-12-02ARM: exynos4: Fix build errorAxel Lin
Trivial fix to fix below build error: CC arch/arm/mach-exynos/mach-universal_c210.o arch/arm/mach-exynos/mach-universal_c210.c:24: error: expected identifier or '(' before '<' token Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-12-02ARM: exynos4: Fix build error due to 'gic_bank_offset' undeclaredAxel Lin
Fix below build error: CC arch/arm/mach-exynos/cpu.o arch/arm/mach-exynos/cpu.c: In function 'exynos4_init_irq': arch/arm/mach-exynos/cpu.c:245: error: 'gic_bank_offset' undeclared (first use in this function) arch/arm/mach-exynos/cpu.c:245: error: (Each undeclared identifier is reported only once arch/arm/mach-exynos/cpu.c:245: error: for each function it appears in.) arch/arm/mach-exynos/cpu.c:243: warning: unused variable 'bank_offset' make[1]: *** [arch/arm/mach-exynos/cpu.o] Error 1 make: *** [arch/arm/mach-exynos] Error 2 Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-21Merge branch 'irqchip-consolidation' of ↵Russell King
git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into devel-stable Conflicts: arch/arm/mach-omap2/board-4430sdp.c arch/arm/mach-omap2/board-omap4panda.c arch/arm/mach-omap2/include/mach/omap4-common.h arch/arm/plat-omap/include/plat/irqs.h The changes to omap4-common.h were moved to arch/arm/mach-omap2/common.h and the other trivial conflicts resolved. The now empty ifdef in irqs.h was also eliminated.
2011-11-21Merge branch 'restart-cleanup' into restartRussell King
2011-11-21ARM: restart: remove poodle restart handlerRussell King
The poodle restart handler was added in 74617fb6b8 (3593/1: Add reboot and shutdown handlers for Zaurus handhelds), and at that time it was necessary to deal with the RCSR register. This commit also forced all restarts to use the 'hard' restart method. In dc38e2ad53 (pxa: Fix RCSR handling), the RCSR handling was removed, leaving just the forcing to use a 'hard' restart. As hard restarts are the default (in the absense of a reboot= command line argument), this seems pointless. In any case, Richard Purdie says: > From what I remember that hardware either always reboots or always > halts. I think the option was therefore left hardcoded to make it clear > it wasn't expected to work. Later Zaurii models could do either but > required some manual poking of registers to make it happen iirc. > > Regardless, you can probably clean this up as you suggest now. So, lets remove the unnecessary interception and rely on the default restart mode. Acked-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-11-21ARM: w90x900: add common nuc9xx.hRussell King
Rather than having separate extern declarations in nuc9*.h, provide a common header file containing these definitions. Tested-by: Wan Zongshun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-11-21ARM: restart: only perform setup for restart when soft-restartingRussell King
We only need to set the system up for a soft-restart if we're going to be doing a soft-restart. Provide a new function (soft_restart()) which does the setup and final call for this, and make platforms use it. Eliminate the call to setup_restart() from the default handler. This means that platforms arch_reset() function is no longer called with the page tables prepared for a soft-restart, and caches will still be enabled. Acked-by: Nicolas Pitre <nico@linaro.org> Acked-by: Will Deacon <will.deacon@arm.com> Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Viresh Kumar <viresh.kumar@st.com> Acked-by: Krzysztof Ha■asa <khc@pm.waw.pl> Acked-by: Paul Mundt <lethal@linux-sh.org> Acked-by: Richard Purdie <richard.purdie@linuxfoundation.org> Acked-by: Wan ZongShun <mcuos.com@gmail.com> Acked-by: Eric Miao <eric.y.miao@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-11-17ARM: clps711x: consolidate irq/mm/time code into a single fileRussell King
The separate files for clps711x which contain maybe one or two data structures or functions is an inefficient use of files, and encourages further small files as other changes happen. Collapse down these into a single core.c file. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-11-17ARM: 7159/1: OMAP: Introduce local common.h filesTony Lindgren
As suggested by Russell King - ARM Linux <linux@arm.linux.org.uk>, there's no need to keep local prototypes in non-local headers. Add mach-omap1/common.h and mach-omap2/common.h and move the local prototypes there from plat/common.h and mach/omap4-common.h. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-11-17ARM: restart: remove local_irq_disable() from within arch_reset()Russell King
IRQs are already disabled by the time arch_reset() is called, so these calls to local_irq_disable() instead arch_reset() are redundant. Remove them. Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by: Nicolas Pitre <nico@linaro.org> Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-11-15ARM: VIC: remove non MULTI_IRQ_HANDLER supportJamie Iles
Now that all platforms are converted to MULTI_IRQ_HANDLER, remove the legacy support. Tested-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Jamie Iles <jamie@jamieiles.com>
2011-11-15ARM: picoxcell: convert to MULTI_IRQ_HANDLERJamie Iles
Now that there is a generic IRQ handler for multiple VIC devices use it for picoxcell to help building multi platform kernels. Signed-off-by: Jamie Iles <jamie@jamieiles.com>
2011-11-15ARM: samsung: convert to MULTI_IRQ_HANDLERJamie Iles
Now that there is a generic IRQ handler for multiple VIC devices use it for samsung to help building multi platform kernels. Cc: Kukjin Kim <kgene.kim@samsung.com> Tested-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Jamie Iles <jamie@jamieiles.com>
2011-11-15ARM: versatile: convert to MULTI_IRQ_HANDLERJamie Iles
Now that there is a generic IRQ handler for multiple VIC devices use it for versatile to help building multi platform kernels. Cc: Russell King <linux@arm.linux.org.uk> Tested-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Jamie Iles <jamie@jamieiles.com>
2011-11-15ARM: u300: convert to MULTI_IRQ_HANDLERJamie Iles
Now that there is a generic IRQ handler for multiple VIC devices use it for u300 to help building multi platform kernels. Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Jamie Iles <jamie@jamieiles.com>
2011-11-15ARM: spear: convert to MULTI_IRQ_HANDLERJamie Iles
Now that there is a generic IRQ handler for multiple VIC devices use it for spear to help building multi platform kernels. Acked-by: Viresh Kumar <viresh.kumar@st.com> Cc: Rajeev Kumar <rajeev-dlh.kumar@st.com> Signed-off-by: Jamie Iles <jamie@jamieiles.com>
2011-11-15ARM: s3c64xx: convert to MULTI_IRQ_HANDLERJamie Iles
Now that there is a generic IRQ handler for multiple VIC devices use it for s3c64xx to help building multi platform kernels. Cc: Ben Dooks <ben-linux@fluff.org> Tested-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Jamie Iles <jamie@jamieiles.com>
2011-11-15ARM: nomadik: convert to MULTI_IRQ_HANDLERJamie Iles
Now that there is a generic IRQ handler for multiple VIC devices use it for nomadik to help building multi platform kernels. Cc: Alessandro Rubini <rubini@unipv.it> Acked-by: Linus Walleij <linus.walleij@linaro.org> Cc: STEricsson <STEricsson_nomadik_linux@list.st.com> Tested-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Jamie Iles <jamie@jamieiles.com>
2011-11-15ARM: netx: convert to MULTI_IRQ_HANDLERJamie Iles
Now that there is a generic IRQ handler for multiple VIC devices use it for netx to help building multi platform kernels. Signed-off-by: Jamie Iles <jamie@jamieiles.com>
2011-11-15ARM: ep93xx: convert to MULTI_IRQ_HANDLERJamie Iles
Now that there is a generic IRQ handler for multiple VIC devices use it for ep93xx to help building multi platform kernels. Cc: Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ryan Mallon <rmallon@gmail.com> Signed-off-by: Jamie Iles <jamie@jamieiles.com>
2011-11-15ARM: vic: MULTI_IRQ_HANDLER handlerJamie Iles
Add a handler for the VIC that is suitable for MULTI_IRQ_HANDLER platforms. This can replace the ASM entry macros for platforms that use the VIC. v4: - rebase ontop of move __exception and friends to asm/exception.h - rework polling loop to handle as many irqs as possible in one go v3: - simplify irq handling loop as suggested by Grant - service interrupts from msb->lsb order v2: - allow the handler be used for !CONFIG_OF - use irq_domain_to_irq() Cc: Rob Herring <robherring2@gmail.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: Linus Walleij <linus.walleij@linaro.org> Tested-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Jamie Iles <jamie@jamieiles.com>
2011-11-15ARM: vic: device tree bindingJamie Iles
This adds a device tree binding for the VIC based on the of_irq_init() support. This adds an irqdomain to the vic and always registers all vics in the static vic array rather than for pm only to keep track of the irq domain. struct irq_data::hwirq is used where appropriate rather than runtime masking. v3: - include linux/export.h for THIS_MODULE v2: - use irq_domain_simple_ops - remove stub implementation of vic_of_init for !CONFIG_OF - Make VIC select IRQ_DOMAIN Reviewed-by: Rob Herring <robherring2@gmail.com> Reviewed-by: Grant Likely <grant.likely@secretlab.ca> Tested-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Jamie Iles <jamie@jamieiles.com>
2011-11-15ARM: GIC: Make MULTI_IRQ_HANDLER mandatoryMarc Zyngier
Now that MULTI_IRQ_HANDLER is selected by all the in-tree GIC users, make it mandatory and remove the unused macros. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: omap2plus: remove irq-related global base addressesMarc Zyngier
After the MULTI_IRQ_HANDLER conversion, a couple of global variables can be removed. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: omap2plus: convert to CONFIG_MULTI_IRQ_HANDLERMarc Zyngier
Convert the omap2plus platforms to be using CONFIG_MULTI_IRQ_HANDLER. Each machine is modified to provide either omap2_intc_handle_irq(), omap3_intc_handle_irq() or gic_handle_irq(). This allows for a major cleanup, removing the MULTI_OMAP setup from the interrupt path. Tested on both Panda and IGEPv2 (single kernel image) Tested-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: omap2/3: Add global omap2/3_intc_handle_irq() functionsMarc Zyngier
Provide the OMAP2/3 IRQ code with low level handlers that can be used by platforms using CONFIG_MULTI_IRQ_HANDLER. Though the handlers are written in C, the compiled code looks very similar to its assembly counterpart (at least with my gcc 4.4.1). Tested-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: zynq: convert to CONFIG_MULTI_IRQ_HANDLERMarc Zyngier
Convert the zynq platform to be using the gic_handle_irq function as its primary interrupt handler. Acked-by: John Linn <john.linn@xilinx.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: cns3xxx: convert to CONFIG_MULTI_IRQ_HANDLERMarc Zyngier
Convert the cns3xxx platform to be using the gic_handle_irq function as its primary interrupt handler. Acked-by: Anton Vorontsov <cbouatmailru@gmail.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: shmobile: convert smp platforms to gic_handle_irq()Marc Zyngier
Convert the SMP shmobile platforms to use gic_handle_irq() instead of the assembly macro. Cc: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: ux500: convert to CONFIG_MULTI_IRQ_HANDLERMarc Zyngier
Convert the ux500 platforms to be using the gic_handle_irq function as their primary interrupt handler. Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: tegra2: convert to CONFIG_MULTI_IRQ_HANDLERMarc Zyngier
Convert the tegra2 platforms to be using the gic_handle_irq function as their primary interrupt handler. Tested on harmony. Cc: Colin Cross <ccross@android.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Olof Johansson <olof@lixom.net> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: exynos4: convert to CONFIG_MULTI_IRQ_HANDLERMarc Zyngier
Convert the Exynos4 platforms to be using the gic_handle_irq function as their primary interrupt handler. Cc: Ben Dooks <ben-linux@fluff.org> Cc: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: msm: convert SMP platforms to CONFIG_MULTI_IRQ_HANDLERMarc Zyngier
Convert the SMP msm platforms to be using the gic_handle_irq function as their primary interrupt handler. Tested-by: David Brown <davidb@codeaurora.org> Acked-by: David Brown <davidb@codeaurora.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: VExpress: convert to CONFIG_MULTI_IRQ_HANDLERMarc Zyngier
Convert the VExpress platform to be using the gic_handle_irq function as its primary interrupt handler. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: RealView: convert to CONFIG_MULTI_IRQ_HANDLERMarc Zyngier
Convert the RealView platforms to be using the gic_handle_irq function as their primary interrupt handler. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: highbank: convert to CONFIG_MULTI_IRQ_HANDLERMarc Zyngier
Convert the highbank platform to be using the gic_handle_irq function as its primary interrupt handler. Cc: Rob Herring <rob.herring@calxeda.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: imx: convert smp platforms to global gic_handle_irq()Marc Zyngier
Convert the SMP imx platforms to use the global gic_handle_irq() function instead a private function. Cc: Sascha Hauer <kernel@pengutronix.de> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: GIC: Add global gic_handle_irq() functionMarc Zyngier
Provide the GIC code with a low level handler that can be used by platforms using CONFIG_MULTI_IRQ_HANDLER. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: mxc: rename gic_handle_irq to avoid name clashMarc Zyngier
Before introducing a global gic_handle_irq(), rename MXC's version to mxc_gic_handle_irq(). This function will be removed altogether in a later patch. Cc: Sascha Hauer <kernel@pengutronix.de> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: Make global handler and CONFIG_MULTI_IRQ_HANDLER mutually exclusiveMarc Zyngier
Even when CONFIG_MULTI_IRQ_HANDLER is selected, the core code requires the arch_irq_handler_default macro to be defined as a fallback. It turns out nobody is using that particular feature as both PXA and shmobile have all their machine descriptors populated with the interrupt handler, leaving unused code (or empty macros) in their entry-macro.S file just to be able to compile entry-armv.S. Make CONFIG_MULTI_IRQ_HANDLER exclusive wrt arch_irq_handler_default, which allows to remove one test from the hot path. Also cleanup both PXA and shmobile entry-macro.S. Cc: Paul Mundt <lethal@linux-sh.org> Acked-by: Nicolas Pitre <nico@linaro.org> Acked-by: Eric Miao <eric.y.miao@gmail.com> Tested-by: Jamie Iles <jamie@jamieiles.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15ARM: gic: allow GIC to support non-banked setupsMarc Zyngier
The GIC support code is heavily using the fact that hardware implementations are exposing banked registers. Unfortunately, it looks like at least one GIC implementation (EXYNOS) offers both the distributor and the CPU interfaces at different addresses, depending on the CPU. This problem is solved by allowing the distributor and CPU interface addresses to be per-cpu variables for the platforms that require it. The EXYNOS code is updated not to mess with the GIC internals while handling interrupts, and struct gic_chip_data is back to being private. The DT binding for the gic is updated to allow an optional "cpu-offset" value, which is used to compute the various base addresses. Finally, a new config option (GIC_NON_BANKED) is used to control this feature, so the overhead is only present on kernels compiled with support for EXYNOS. Tested on Origen (EXYNOS4) and Panda (OMAP4). Cc: Kukjin Kim <kgene.kim@samsung.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Thomas Abraham <thomas.abraham@linaro.org> Acked-by: Rob Herring <rob.herring@calxeda.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15Linux 3.2-rc2v3.2-rc2Linus Torvalds
2011-11-15Merge branch 'iommu/fixes' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu * 'iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: iommu: omap: Fix compile failure
2011-11-15Merge branch 'fixes' of git://git.linaro.org/people/triad/linux-pinctrlLinus Torvalds
* 'fixes' of git://git.linaro.org/people/triad/linux-pinctrl: pinctrl: hide subsystem from the populace pinctrl: fix "warning: 'struct pinctrl_dev' declared inside parameter list"
2011-11-15Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: fsl-rio: fix compile error
2011-11-15Merge branch 'gpio/merge' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds
* 'gpio/merge' of git://git.secretlab.ca/git/linux-2.6: gpio: pca953x: propagate the errno from the chip_init functions gpio: pca953x: remove unneeded check for chip type gpio/omap: check return value from irq_alloc_generic_chip gpio/omap: replace MOD_REG_BIT macro with static inline
2011-11-15Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo/blackfin * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo/blackfin: blackfin: Fixup export.h includes Blackfin: add serial TX IRQ in individual platform resource