irqchip/loongson-liointc: Add IRQCHIP_SKIP_SET_WAKE flag
authorYinbo Zhu <zhuyinbo@loongson.cn>
Wed, 14 Jun 2023 11:59:35 +0000 (19:59 +0800)
committerMarc Zyngier <maz@kernel.org>
Fri, 16 Jun 2023 11:59:28 +0000 (12:59 +0100)
LIOINTC doesn't require specific logic to work with wakeup IRQs,
and no irq_set_wake callback is needed. To allow registered IRQs
from LIOINTC to be used as a wakeup-source, and ensure irq_set_irq_wake()
works well, the flag IRQCHIP_SKIP_SET_WAKE should be added.

Reviewed-by: Huacai Chen <chenhuacai@kernel.org>
Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
Signed-off-by: Jianmin Lv <lvjianmin@loongson.cn>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20230614115936.5950-5-lvjianmin@loongson.cn
drivers/irqchip/irq-loongson-liointc.c

index 5dd9db8..e4b33ae 100644 (file)
@@ -295,6 +295,7 @@ static int liointc_init(phys_addr_t addr, unsigned long size, int revision,
        ct->chip.irq_mask = irq_gc_mask_disable_reg;
        ct->chip.irq_mask_ack = irq_gc_mask_disable_reg;
        ct->chip.irq_set_type = liointc_set_type;
+       ct->chip.flags = IRQCHIP_SKIP_SET_WAKE;
 
        gc->mask_cache = 0;
        priv->gc = gc;