irqchip/bcm2836: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND

The BCM2836 interrupt controller doesn't provide any facility to configure
the wakeup sources. That's the reason why the driver lacks the
irq_set_wake() callback for the interrupt chip.

Enable the flags IRQCHIP_SKIP_SET_WAKE and IRQCHIP_MASK_ON_SUSPEND so the
interrupt suspend logic can handle the chip correctly equivalently to the
corresponding bcm2835 change (9a58480e5e53 ("irqchip/bcm2835: Enable
SKIP_SET_WAKE and MASK_ON_SUSPEND").

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://lore.kernel.org/all/20241202115437.33552-1-wahrenst@gmx.net

authored by Stefan Wahren and committed by Thomas Gleixner ee3878b8 f58326c7

Changed files
+3
drivers
irqchip
+3
drivers/irqchip/irq-bcm2836.c
··· 58 58 .name = "bcm2836-timer", 59 59 .irq_mask = bcm2836_arm_irqchip_mask_timer_irq, 60 60 .irq_unmask = bcm2836_arm_irqchip_unmask_timer_irq, 61 + .flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_SKIP_SET_WAKE, 61 62 }; 62 63 63 64 static void bcm2836_arm_irqchip_mask_pmu_irq(struct irq_data *d) ··· 75 74 .name = "bcm2836-pmu", 76 75 .irq_mask = bcm2836_arm_irqchip_mask_pmu_irq, 77 76 .irq_unmask = bcm2836_arm_irqchip_unmask_pmu_irq, 77 + .flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_SKIP_SET_WAKE, 78 78 }; 79 79 80 80 static void bcm2836_arm_irqchip_mask_gpu_irq(struct irq_data *d) ··· 90 88 .name = "bcm2836-gpu", 91 89 .irq_mask = bcm2836_arm_irqchip_mask_gpu_irq, 92 90 .irq_unmask = bcm2836_arm_irqchip_unmask_gpu_irq, 91 + .flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_SKIP_SET_WAKE, 93 92 }; 94 93 95 94 static void bcm2836_arm_irqchip_dummy_op(struct irq_data *d)