irqchip/loongson-liointc: Fix build error for LoongArch
authorHuacai Chen <chenhuacai@loongson.cn>
Tue, 31 May 2022 10:04:10 +0000 (18:04 +0800)
committerHuacai Chen <chenhuacai@loongson.cn>
Fri, 3 Jun 2022 12:09:27 +0000 (20:09 +0800)
liointc driver is shared by MIPS and LoongArch, this patch adjust the
code to fix build error for LoongArch.

Acked-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: WANG Xuerui <git@xen0n.name>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
drivers/irqchip/irq-loongson-liointc.c

index 649c583..aed8885 100644 (file)
 #include <linux/smp.h>
 #include <linux/irqchip/chained_irq.h>
 
+#ifdef CONFIG_MIPS
 #include <loongson.h>
+#else
+#include <asm/loongson.h>
+#endif
 
 #define LIOINTC_CHIP_IRQ       32
 #define LIOINTC_NUM_PARENT 4
@@ -53,7 +57,7 @@ static void liointc_chained_handle_irq(struct irq_desc *desc)
        struct liointc_handler_data *handler = irq_desc_get_handler_data(desc);
        struct irq_chip *chip = irq_desc_get_chip(desc);
        struct irq_chip_generic *gc = handler->priv->gc;
-       int core = get_ebase_cpunum() % LIOINTC_NUM_CORES;
+       int core = cpu_logical_map(smp_processor_id()) % LIOINTC_NUM_CORES;
        u32 pending;
 
        chained_irq_enter(chip, desc);