From: Keguang Zhang Date: Mon, 25 Sep 2023 12:17:34 +0000 (+0800) Subject: genirq/generic-chip: Fix the irq_chip name for /proc/interrupts X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=021a8ca2ba23c01487a98ad23b68ac062e14cf32;p=linux.git genirq/generic-chip: Fix the irq_chip name for /proc/interrupts irq_init_generic_chip() only sets the name for the first chip type, which leads to empty names for other chip types. Eventually, these names will be shown as "-" /proc/interrupts. Set the name for all chip types by default. Signed-off-by: Keguang Zhang Signed-off-by: Thomas Gleixner Link: https://lore.kernel.org/r/20230925121734.93017-1-keguang.zhang@gmail.com --- diff --git a/kernel/irq/generic-chip.c b/kernel/irq/generic-chip.c index c653cd31548d0..81ecca08caad1 100644 --- a/kernel/irq/generic-chip.c +++ b/kernel/irq/generic-chip.c @@ -219,11 +219,15 @@ void irq_init_generic_chip(struct irq_chip_generic *gc, const char *name, int num_ct, unsigned int irq_base, void __iomem *reg_base, irq_flow_handler_t handler) { + struct irq_chip_type *ct = gc->chip_types; + int i; + raw_spin_lock_init(&gc->lock); gc->num_ct = num_ct; gc->irq_base = irq_base; gc->reg_base = reg_base; - gc->chip_types->chip.name = name; + for (i = 0; i < num_ct; i++) + ct[i].chip.name = name; gc->chip_types->handler = handler; }