irqchip/sifive-plic: Remove incorrect requirement about number of irq contexts
authorWesley W. Terpstra <wesley@sifive.com>
Tue, 12 May 2020 17:26:36 +0000 (10:26 -0700)
committerMarc Zyngier <maz@kernel.org>
Mon, 18 May 2020 09:28:30 +0000 (10:28 +0100)
A PLIC may not be connected to all the cores. In that case, nr_contexts
may be less than num_possible_cpus. This requirement is only valid a single
PLIC is the only interrupt controller for the whole system.

Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: "Wesley W. Terpstra" <wesley@sifive.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
Acked-by: Palmer Dabbelt <palmerdabbelt@google.com>
Link: https://lore.kernel.org/r/20200512172636.96299-1-atish.patra@wdc.com
[Atish: Modified the commit text]

drivers/irqchip/irq-sifive-plic.c

index d0a71fe..822e074 100644 (file)
@@ -301,8 +301,6 @@ static int __init plic_init(struct device_node *node,
        nr_contexts = of_irq_count(node);
        if (WARN_ON(!nr_contexts))
                goto out_iounmap;
-       if (WARN_ON(nr_contexts < num_possible_cpus()))
-               goto out_iounmap;
 
        error = -ENOMEM;
        priv->irqdomain = irq_domain_add_linear(node, nr_irqs + 1,