2023-09-25 13:53:31

by Keguang Zhang

[permalink] [raw]
Subject: [PATCH] irq/generic-chip: fix the irq_chip name for /proc/interrupts

irq_init_generic_chip() only sets name for the first chip type,
which will lead to empty names for other chip types.
Eventually, these names will be shown as "-" /proc/interrupts.

This patch sets name for all chip types by default.

Signed-off-by: Keguang Zhang <[email protected]>
---
kernel/irq/generic-chip.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/kernel/irq/generic-chip.c b/kernel/irq/generic-chip.c
index c653cd31548d..81ecca08caad 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;
}


base-commit: 8fff9184d1b5810dca5dd1a02726d4f844af88fc
--
2.39.2


2023-10-13 10:32:10

by tip-bot2 for Jacob Pan

[permalink] [raw]
Subject: [tip: irq/core] genirq/generic-chip: Fix the irq_chip name for /proc/interrupts

The following commit has been merged into the irq/core branch of tip:

Commit-ID: 021a8ca2ba23c01487a98ad23b68ac062e14cf32
Gitweb: https://git.kernel.org/tip/021a8ca2ba23c01487a98ad23b68ac062e14cf32
Author: Keguang Zhang <[email protected]>
AuthorDate: Mon, 25 Sep 2023 20:17:34 +08:00
Committer: Thomas Gleixner <[email protected]>
CommitterDate: Fri, 13 Oct 2023 12:25:31 +02:00

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 <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Link: https://lore.kernel.org/r/[email protected]

---
kernel/irq/generic-chip.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/kernel/irq/generic-chip.c b/kernel/irq/generic-chip.c
index c653cd3..81ecca0 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;
}