Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / drivers / irqchip / irq-gic.c
index 113e2d02c81246e1836361f3f16798c654ae7dfb..1de20e14a721111737bdab39c575ab7a45ddc63b 100644 (file)
@@ -55,7 +55,7 @@
 
 static void gic_check_cpu_features(void)
 {
-       WARN_TAINT_ONCE(cpus_have_cap(ARM64_HAS_SYSREG_GIC_CPUIF),
+       WARN_TAINT_ONCE(this_cpu_has_cap(ARM64_HAS_SYSREG_GIC_CPUIF),
                        TAINT_CPU_OUT_OF_SPEC,
                        "GICv3 system registers enabled, broken firmware!\n");
 }
@@ -489,6 +489,7 @@ static int gic_cpu_init(struct gic_chip_data *gic)
                if (WARN_ON(cpu >= NR_GIC_CPU_IF))
                        return -EINVAL;
 
+               gic_check_cpu_features();
                cpu_mask = gic_get_cpumask(gic);
                gic_cpu_map[cpu] = cpu_mask;
 
@@ -1038,8 +1039,6 @@ static int __init __gic_init_bases(struct gic_chip_data *gic, int irq_start,
        if (WARN_ON(!gic || gic->domain))
                return -EINVAL;
 
-       gic_check_cpu_features();
-
        /* Initialize irq_chip */
        gic->chip = gic_chip;