• J
    irqchip/gic: Ensure gic_cpu_if_up/down() programs correct GIC instance · 4c2880b3
    Jon Hunter 提交于
    Commit 32289506 ("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: NJon Hunter <jonathanh@nvidia.com>
    Reviewed-by: NMarc 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.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
    4c2880b3
tc2_pm.c 7.3 KB