summaryrefslogtreecommitdiffstats
path: root/kernel/irq/debugfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/irq/debugfs.c')
-rw-r--r--kernel/irq/debugfs.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/kernel/irq/debugfs.c b/kernel/irq/debugfs.c
index c3fdb36dec30..7f608ac39653 100644
--- a/kernel/irq/debugfs.c
+++ b/kernel/irq/debugfs.c
@@ -81,6 +81,8 @@ irq_debug_show_data(struct seq_file *m, struct irq_data *data, int ind)
81 data->domain ? data->domain->name : ""); 81 data->domain ? data->domain->name : "");
82 seq_printf(m, "%*shwirq: 0x%lx\n", ind + 1, "", data->hwirq); 82 seq_printf(m, "%*shwirq: 0x%lx\n", ind + 1, "", data->hwirq);
83 irq_debug_show_chip(m, data, ind + 1); 83 irq_debug_show_chip(m, data, ind + 1);
84 if (data->domain && data->domain->ops && data->domain->ops->debug_show)
85 data->domain->ops->debug_show(m, NULL, data, ind + 1);
84#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY 86#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
85 if (!data->parent_data) 87 if (!data->parent_data)
86 return; 88 return;
@@ -149,6 +151,7 @@ static int irq_debug_show(struct seq_file *m, void *p)
149 raw_spin_lock_irq(&desc->lock); 151 raw_spin_lock_irq(&desc->lock);
150 data = irq_desc_get_irq_data(desc); 152 data = irq_desc_get_irq_data(desc);
151 seq_printf(m, "handler: %pf\n", desc->handle_irq); 153 seq_printf(m, "handler: %pf\n", desc->handle_irq);
154 seq_printf(m, "device: %s\n", desc->dev_name);
152 seq_printf(m, "status: 0x%08x\n", desc->status_use_accessors); 155 seq_printf(m, "status: 0x%08x\n", desc->status_use_accessors);
153 irq_debug_show_bits(m, 0, desc->status_use_accessors, irqdesc_states, 156 irq_debug_show_bits(m, 0, desc->status_use_accessors, irqdesc_states,
154 ARRAY_SIZE(irqdesc_states)); 157 ARRAY_SIZE(irqdesc_states));
@@ -226,6 +229,15 @@ static const struct file_operations dfs_irq_ops = {
226 .release = single_release, 229 .release = single_release,
227}; 230};
228 231
232void irq_debugfs_copy_devname(int irq, struct device *dev)
233{
234 struct irq_desc *desc = irq_to_desc(irq);
235 const char *name = dev_name(dev);
236
237 if (name)
238 desc->dev_name = kstrdup(name, GFP_KERNEL);
239}
240
229void irq_add_debugfs_entry(unsigned int irq, struct irq_desc *desc) 241void irq_add_debugfs_entry(unsigned int irq, struct irq_desc *desc)
230{ 242{
231 char name [10]; 243 char name [10];