Merge tag 'irq_urgent_for_v6.13_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq fixes from Borislav Petkov:

- Fix a /proc/interrupts formatting regression

- Have the BCM2836 interrupt controller enter power management states
properly

- Other fixlets

* tag 'irq_urgent_for_v6.13_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
irqchip/stm32mp-exti: CONFIG_STM32MP_EXTI should not default to y when compile-testing
genirq/proc: Add missing space separator back
irqchip/bcm2836: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND
irqchip/gic-v3: Fix irq_complete_ack() comment

Changed files
+9 -5
drivers
kernel
irq
+1 -1
drivers/irqchip/Kconfig
··· 415 415 config STM32MP_EXTI 416 416 tristate "STM32MP extended interrupts and event controller" 417 417 depends on (ARCH_STM32 && !ARM_SINGLE_ARMV7M) || COMPILE_TEST 418 - default y 418 + default ARCH_STM32 && !ARM_SINGLE_ARMV7M 419 419 select IRQ_DOMAIN_HIERARCHY 420 420 select GENERIC_IRQ_CHIP 421 421 help
+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)
+1 -1
drivers/irqchip/irq-gic-v3.c
··· 817 817 * register state is not stale, as these may have been indirectly written 818 818 * *after* exception entry. 819 819 * 820 - * (2) Deactivate the interrupt when EOI mode 1 is in use. 820 + * (2) Execute an interrupt priority drop when EOI mode 1 is in use. 821 821 */ 822 822 static inline void gic_complete_ack(u32 irqnr) 823 823 {
+4 -3
kernel/irq/proc.c
··· 501 501 502 502 seq_put_decimal_ull_width(p, " ", cnt, 10); 503 503 } 504 + seq_putc(p, ' '); 504 505 505 506 raw_spin_lock_irqsave(&desc->lock, flags); 506 507 if (desc->irq_data.chip) { 507 508 if (desc->irq_data.chip->irq_print_chip) 508 509 desc->irq_data.chip->irq_print_chip(&desc->irq_data, p); 509 510 else if (desc->irq_data.chip->name) 510 - seq_printf(p, " %8s", desc->irq_data.chip->name); 511 + seq_printf(p, "%8s", desc->irq_data.chip->name); 511 512 else 512 - seq_printf(p, " %8s", "-"); 513 + seq_printf(p, "%8s", "-"); 513 514 } else { 514 - seq_printf(p, " %8s", "None"); 515 + seq_printf(p, "%8s", "None"); 515 516 } 516 517 if (desc->irq_data.domain) 517 518 seq_printf(p, " %*lu", prec, desc->irq_data.hwirq);