[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250422113156.575971-10-eugen.hristev@linaro.org>
Date: Tue, 22 Apr 2025 14:31:51 +0300
From: Eugen Hristev <eugen.hristev@...aro.org>
To: linux-kernel@...r.kernel.org,
linux-arm-msm@...r.kernel.org,
andersson@...nel.org
Cc: linux-doc@...r.kernel.org,
corbet@....net,
tglx@...utronix.de,
mingo@...hat.com,
rostedt@...dmis.org,
john.ogness@...utronix.de,
senozhatsky@...omium.org,
pmladek@...e.com,
peterz@...radead.org,
mojha@....qualcomm.com,
linux-arm-kernel@...ts.infradead.org,
vincent.guittot@...aro.org,
konradybcio@...nel.org,
dietmar.eggemann@....com,
juri.lelli@...hat.com,
eugen.hristev@...aro.org
Subject: [RFC][PATCH 09/14] genirq: add irq_kmemdump_register
Add function to register irq info into kmemdump.
Signed-off-by: Eugen Hristev <eugen.hristev@...aro.org>
---
include/linux/irqnr.h | 1 +
kernel/irq/irqdesc.c | 7 +++++++
2 files changed, 8 insertions(+)
diff --git a/include/linux/irqnr.h b/include/linux/irqnr.h
index e97206c721a0..136f0572ad78 100644
--- a/include/linux/irqnr.h
+++ b/include/linux/irqnr.h
@@ -9,6 +9,7 @@ unsigned int irq_get_nr_irqs(void) __pure;
unsigned int irq_set_nr_irqs(unsigned int nr);
extern struct irq_desc *irq_to_desc(unsigned int irq);
unsigned int irq_get_next_irq(unsigned int offset);
+void irq_kmemdump_register(void);
#define for_each_irq_desc(irq, desc) \
for (unsigned int __nr_irqs__ = irq_get_nr_irqs(); __nr_irqs__; \
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index 287830739783..ae29165b1f1f 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -12,6 +12,7 @@
#include <linux/export.h>
#include <linux/interrupt.h>
#include <linux/kernel_stat.h>
+#include <linux/kmemdump.h>
#include <linux/maple_tree.h>
#include <linux/irqdomain.h>
#include <linux/sysfs.h>
@@ -164,6 +165,12 @@ unsigned int irq_set_nr_irqs(unsigned int nr)
}
EXPORT_SYMBOL_GPL(irq_set_nr_irqs);
+void irq_kmemdump_register(void)
+{
+ kmemdump_register("irq", (void *)&nr_irqs, sizeof(nr_irqs));
+}
+EXPORT_SYMBOL_GPL(irq_kmemdump_register);
+
static DEFINE_MUTEX(sparse_irq_lock);
static struct maple_tree sparse_irqs = MTREE_INIT_EXT(sparse_irqs,
MT_FLAGS_ALLOC_RANGE |
--
2.43.0
Powered by blists - more mailing lists