irqchip: gic: Don't complain in gic_get_cpumask() if UP system
authorStephen Boyd <sboyd@codeaurora.org>
Thu, 12 Mar 2015 06:21:31 +0000 (23:21 -0700)
committerJason Cooper <jason@lakedaemon.net>
Sun, 15 Mar 2015 01:37:14 +0000 (01:37 +0000)
In a uniprocessor implementation the interrupt processor targets
registers are read-as-zero/write-ignored (RAZ/WI). Unfortunately
gic_get_cpumask() will print a critical message saying

 GIC CPU mask not found - kernel will fail to boot.

if these registers all read as zero, but there won't actually be
a problem on uniprocessor systems and the kernel will boot just
fine. Skip this check if we're running a UP kernel or if we
detect that the hardware only supports a single processor.

Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Felipe Balbi <balbi@ti.com>
Acked-by: Nishanth Menon <nm@ti.com>
Acked-by: Stefan Agner <stefan@agner.ch>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Link: https://lkml.kernel.org/r/1426141291-21641-1-git-send-email-sboyd@codeaurora.org
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
drivers/irqchip/irq-gic.c

index 4634cf7d0ec379d5578319d45194cb18c9997510..50e70a8c7ec4402e97bbb773565dab38e23cae40 100644 (file)
@@ -349,7 +349,7 @@ static u8 gic_get_cpumask(struct gic_chip_data *gic)
                        break;
        }
 
-       if (!mask)
+       if (!mask && num_possible_cpus() > 1)
                pr_crit("GIC CPU mask not found - kernel will fail to boot.\n");
 
        return mask;