linux-stable/arch
Jon Hunter 4c2880b31c irqchip/gic: Ensure gic_cpu_if_up/down() programs correct GIC instance
Commit 3228950621 ("irqchip: gic: Preserve gic V2 bypass bits in cpu
ctrl register") added a new function, gic_cpu_if_up(), to program the
GIC CPU_CTRL register. This function assumes that there is only one GIC
instance present and hence always uses the chip data for the primary GIC
controller. Although it is not common for there to be a secondary, some
devices do support a secondary. Therefore, fix this by passing
gic_cpu_if_up() a pointer to the appropriate chip data structure.

Similarly, the function gic_cpu_if_down() only assumes that there is a
single GIC instance present. Update this function so that an instance
number is passed for the appropriate GIC and return an error code on
failure. The vexpress TC2 (which has a single GIC) is currently the only
user of this function and so update it accordingly. Note that because the
TC2 only has a single GIC, the call to gic_cpu_if_down() should always
be successful.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: <linux-arm-kernel@lists.infradead.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: Jason Cooper <jason@lakedaemon.net>
Link: http://lkml.kernel.org/r/1438332252-25248-2-git-send-email-jonathanh@nvidia.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2015-08-04 14:14:06 +02:00
..
alpha Merge branch 'linus' into irq/core 2015-07-30 00:13:24 +02:00
arc arc/irq: Prepare idu_cascade_isr for irq argument removal 2015-07-31 22:20:05 +02:00
arm irqchip/gic: Ensure gic_cpu_if_up/down() programs correct GIC instance 2015-08-04 14:14:06 +02:00
arm64 ARM64/irq: Use access helper irq_data_get_affinity_mask() 2015-07-22 10:57:09 +01:00
avr32 Merge branch 'linus' into irq/core 2015-07-30 00:13:24 +02:00
blackfin blackfin: Prepare irq handlers for irq argument removal 2015-07-31 22:20:05 +02:00
c6x C6X/megamode-pic: Prepare megamod_irq_cascade for irq argument removal 2015-07-31 22:20:05 +02:00
cris mm: clean up per architecture MM hook header files 2015-07-17 16:39:53 -07:00
frv mm: clean up per architecture MM hook header files 2015-07-17 16:39:53 -07:00
h8300 mm: clean up per architecture MM hook header files 2015-07-17 16:39:53 -07:00
hexagon mm: clean up per architecture MM hook header files 2015-07-17 16:39:53 -07:00
ia64 Merge branch 'linus' into irq/core 2015-07-30 00:13:24 +02:00
m32r m32r: Add ioreadXX/iowriteXX big-endian mmio accessors 2015-07-23 18:08:28 -07:00
m68k m68k/irq: Prepare irq handlers for irq argument removal 2015-08-01 08:07:22 +02:00
metag mm: clean up per architecture MM hook header files 2015-07-17 16:39:53 -07:00
microblaze microblaze/irq: prepare for drivers/irqchip/irqchip.h removal 2015-07-31 20:51:21 +02:00
mips MIPS/irqchip: Move i8259 irqchip driver to drivers/irqchip 2015-07-31 22:04:49 +02:00
mn10300 mn10300/irq: Use access helper irq_data_get_affinity_mask() 2015-07-31 22:20:04 +02:00
nios2 mm: clean up per architecture MM hook header files 2015-07-17 16:39:53 -07:00
openrisc mm: clean up per architecture MM hook header files 2015-07-17 16:39:53 -07:00
parisc parisc/irq: Use access helper irq_data_get_affinity_mask() 2015-07-31 22:20:04 +02:00
powerpc genirq/irqdomain: Allow irq domain aliasing 2015-07-30 00:14:36 +02:00
s390 Merge branch 'linus' into irq/core 2015-07-30 00:13:24 +02:00
score mm: clean up per architecture MM hook header files 2015-07-17 16:39:53 -07:00
sh Merge branch 'linus' into irq/core 2015-07-30 00:13:24 +02:00
sparc sparc/irq: Use access helper irq_data_get_affinity_mask() 2015-07-31 22:20:05 +02:00
tile tile/pci_gx: Prepare trio_handle_level_irq for irq argument removal 2015-08-01 08:07:22 +02:00
um mm: clean up per architecture MM hook header files 2015-07-17 16:39:53 -07:00
unicore32 unicore32/irq: Prepare puv3_gpio_handler for irq argument removal 2015-08-01 08:07:23 +02:00
x86 Merge branch 'linus' into irq/core 2015-07-30 00:13:24 +02:00
xtensa Merge branch 'linus' into irq/core 2015-07-30 00:13:24 +02:00
.gitignore
Kconfig x86/fpu, sched: Introduce CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT and use it on x86 2015-07-18 03:42:51 +02:00