|
@@ -149,6 +149,7 @@ static int irq_debug_show(struct seq_file *m, void *p)
|
|
|
raw_spin_lock_irq(&desc->lock);
|
|
|
data = irq_desc_get_irq_data(desc);
|
|
|
seq_printf(m, "handler: %pf\n", desc->handle_irq);
|
|
|
+ seq_printf(m, "device: %s\n", desc->dev_name);
|
|
|
seq_printf(m, "status: 0x%08x\n", desc->status_use_accessors);
|
|
|
irq_debug_show_bits(m, 0, desc->status_use_accessors, irqdesc_states,
|
|
|
ARRAY_SIZE(irqdesc_states));
|
|
@@ -226,6 +227,15 @@ static const struct file_operations dfs_irq_ops = {
|
|
|
.release = single_release,
|
|
|
};
|
|
|
|
|
|
+void irq_debugfs_copy_devname(int irq, struct device *dev)
|
|
|
+{
|
|
|
+ struct irq_desc *desc = irq_to_desc(irq);
|
|
|
+ const char *name = dev_name(dev);
|
|
|
+
|
|
|
+ if (name)
|
|
|
+ desc->dev_name = kstrdup(name, GFP_KERNEL);
|
|
|
+}
|
|
|
+
|
|
|
void irq_add_debugfs_entry(unsigned int irq, struct irq_desc *desc)
|
|
|
{
|
|
|
char name [10];
|