16 Nov, 2011
37 commits
-
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
-
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
Tested-by: Thomas Abraham
Signed-off-by: Jamie 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
Tested-by: Marc Zyngier
Signed-off-by: Jamie 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
Signed-off-by: Jamie 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
Cc: Rajeev Kumar
Signed-off-by: Jamie 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
Tested-by: Thomas Abraham
Signed-off-by: Jamie 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
Acked-by: Linus Walleij
Cc: STEricsson
Tested-by: Thomas Abraham
Signed-off-by: Jamie 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
-
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
Cc: Ryan Mallon
Signed-off-by: Jamie 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
Acked-by: Grant Likely
Acked-by: Linus Walleij
Tested-by: Thomas Abraham
Signed-off-by: Jamie 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_DOMAINReviewed-by: Rob Herring
Reviewed-by: Grant Likely
Tested-by: Thomas Abraham
Signed-off-by: Jamie Iles -
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
-
After the MULTI_IRQ_HANDLER conversion, a couple of global
variables can be removed.Signed-off-by: Marc 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
Signed-off-by: Marc 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
Signed-off-by: Marc Zyngier -
Convert the zynq platform to be using the gic_handle_irq
function as its primary interrupt handler.Acked-by: John Linn
Signed-off-by: Marc Zyngier -
Convert the cns3xxx platform to be using the gic_handle_irq
function as its primary interrupt handler.Acked-by: Anton Vorontsov
Signed-off-by: Marc Zyngier -
Convert the SMP shmobile platforms to use gic_handle_irq() instead
of the assembly macro.Cc: Paul Mundt
Signed-off-by: Marc Zyngier -
Convert the ux500 platforms to be using the gic_handle_irq
function as their primary interrupt handler.Acked-by: Linus Walleij
Signed-off-by: Marc Zyngier -
Convert the tegra2 platforms to be using the gic_handle_irq
function as their primary interrupt handler.Tested on harmony.
Cc: Colin Cross
Acked-by: Stephen Warren
Acked-by: Olof Johansson
Signed-off-by: Marc Zyngier -
Convert the Exynos4 platforms to be using the gic_handle_irq
function as their primary interrupt handler.Cc: Ben Dooks
Cc: Kukjin Kim
Signed-off-by: Marc Zyngier -
Convert the SMP msm platforms to be using the gic_handle_irq
function as their primary interrupt handler.Tested-by: David Brown
Acked-by: David Brown
Signed-off-by: Marc Zyngier -
Convert the VExpress platform to be using the gic_handle_irq
function as its primary interrupt handler.Signed-off-by: Marc Zyngier
-
Convert the RealView platforms to be using the gic_handle_irq
function as their primary interrupt handler.Signed-off-by: Marc Zyngier
-
Convert the highbank platform to be using the gic_handle_irq
function as its primary interrupt handler.Cc: Rob Herring
Signed-off-by: Marc Zyngier -
Convert the SMP imx platforms to use the global gic_handle_irq()
function instead a private function.Cc: Sascha Hauer
Acked-by: Shawn Guo
Signed-off-by: Marc 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
-
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
Acked-by: Shawn Guo
Signed-off-by: Marc 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
Acked-by: Nicolas Pitre
Acked-by: Eric Miao
Tested-by: Jamie Iles
Signed-off-by: Marc 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
Cc: Will Deacon
Cc: Thomas Abraham
Acked-by: Rob Herring
Signed-off-by: Marc Zyngier -
* 'iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
iommu: omap: Fix compile failure -
* '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" -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
fsl-rio: fix compile error -
* '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 -
* '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 -
On a corrupted file system the ->len field could be wrong leading to
a buffer overflow.Reported-and-acked-by: Clement LECIGNE
Signed-off-by: Dan Carpenter
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds
15 Nov, 2011
1 commit
-
The "#include " was replaced by "#include "
in the patch "powerpc: various straight conversions from module.h --> export.h".
This will cause the following compile problem:
arch/powerpc/sysdev/fsl_rio.c: In function 'fsl_rio_mcheck_exception':
arch/powerpc/sysdev/fsl_rio.c:296: error: implicit declaration of function 'search_exception_tables'.The file fsl_rio.c needs the declaration of function "search_exception_tables"
in the header file "linux/module.h".Signed-off-by: Liu Gang
Signed-off-by: Paul Gortmaker
14 Nov, 2011
2 commits
-
Commit 8dc7a9c84 ("blackfin: Add export.h to files using
EXPORT_SYMBOL/THIS_MODULE") inserted some of the include statements into
sections protected by an unrelated #if CONFIG_... statement. This can cause,
depending on the configuration used, warnings like this one:arch/blackfin/mach-bf537/boards/stamp.c:2940: warning: data definition has no type or storage class
arch/blackfin/mach-bf537/boards/stamp.c:2940: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL’
arch/blackfin/mach-bf537/boards/stamp.c:2940: warning: parameter names (without types) in function declarationThis patch fixes it by moving the includes out of the #if protected sections.
Signed-off-by: Lars-Peter Clausen
Acked-by: Mike Frysinger
Signed-off-by: Bob Liu -
The serial TX IRQ is not simply (RX IRQ + 1) on some Blackfin chips,
so move the values to the platform resources.Signed-off-by: Sonic Zhang
Signed-off-by: Mike Frysinger
Signed-off-by: Bob Liu