diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/irqchip/irq-loongson-liointc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/irqchip/irq-loongson-liointc.c b/drivers/irqchip/irq-loongson-liointc.c index 649c58391618..aed88857d90f 100644 --- a/drivers/irqchip/irq-loongson-liointc.c +++ b/drivers/irqchip/irq-loongson-liointc.c @@ -16,7 +16,11 @@ #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); |