linux/arch/arm/mach-vexpress
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
..
core.h ARM: vexpress: Remove non-DT code 2014-11-28 16:08:16 +01:00
dcscb_setup.S ARM: vexpress/dcscb: handle platform coherency exit/setup and CCI 2013-05-29 15:50:35 -04:00
dcscb.c ARM: vexpress: migrate DCSCB to the new MCPM backend abstraction 2015-04-03 12:52:48 -07:00
hotplug.c ARM: cpu hotplug: remove majority of cache flushing from platforms 2013-04-18 20:08:04 +01:00
Kconfig ARM: SoC driver updates for v4.1 2015-04-22 09:18:17 -07:00
Makefile ARM: vexpress: Remove non-DT code 2014-11-28 16:08:16 +01:00
platsmp.c ARM: vexpress: Remove non-DT code 2014-11-28 16:08:16 +01:00
spc.c arm: don't use module_init in non-modular mach-vexpress/spc.c code 2015-06-16 14:12:29 -04:00
spc.h ARM: vexpress/TC2: Implement MCPM power_down_finish() 2013-11-25 14:12:14 -08:00
tc2_pm.c irqchip/gic: Ensure gic_cpu_if_up/down() programs correct GIC instance 2015-08-04 14:14:06 +02:00
v2m.c ARM: vexpress: Remove non-DT code 2014-11-28 16:08:16 +01:00