mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 01:54:09 +08:00
powerpc/xive: Change the debugfs file 'xive' into a directory
Use a 'cpus' file to dump CPU states and 'interrupts' to dump IRQ states. Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20211105102636.1016378-6-clg@kaod.org
This commit is contained in:
parent
412877dfae
commit
baed14de78
@ -1759,17 +1759,10 @@ static void xive_debug_show_irq(struct seq_file *m, struct irq_data *d)
|
|||||||
seq_puts(m, "\n");
|
seq_puts(m, "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
static int xive_core_debug_show(struct seq_file *m, void *private)
|
static int xive_irq_debug_show(struct seq_file *m, void *private)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
struct irq_desc *desc;
|
struct irq_desc *desc;
|
||||||
int cpu;
|
|
||||||
|
|
||||||
if (xive_ops->debug_show)
|
|
||||||
xive_ops->debug_show(m, private);
|
|
||||||
|
|
||||||
for_each_possible_cpu(cpu)
|
|
||||||
xive_debug_show_cpu(m, cpu);
|
|
||||||
|
|
||||||
for_each_irq_desc(i, desc) {
|
for_each_irq_desc(i, desc) {
|
||||||
struct irq_data *d = irq_domain_get_irq_data(xive_irq_domain, i);
|
struct irq_data *d = irq_domain_get_irq_data(xive_irq_domain, i);
|
||||||
@ -1779,12 +1772,33 @@ static int xive_core_debug_show(struct seq_file *m, void *private)
|
|||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
DEFINE_SHOW_ATTRIBUTE(xive_core_debug);
|
DEFINE_SHOW_ATTRIBUTE(xive_irq_debug);
|
||||||
|
|
||||||
|
static int xive_cpu_debug_show(struct seq_file *m, void *private)
|
||||||
|
{
|
||||||
|
int cpu;
|
||||||
|
|
||||||
|
if (xive_ops->debug_show)
|
||||||
|
xive_ops->debug_show(m, private);
|
||||||
|
|
||||||
|
for_each_possible_cpu(cpu)
|
||||||
|
xive_debug_show_cpu(m, cpu);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
DEFINE_SHOW_ATTRIBUTE(xive_cpu_debug);
|
||||||
|
|
||||||
static void xive_core_debugfs_create(void)
|
static void xive_core_debugfs_create(void)
|
||||||
{
|
{
|
||||||
debugfs_create_file("xive", 0400, arch_debugfs_dir,
|
struct dentry *xive_dir;
|
||||||
NULL, &xive_core_debug_fops);
|
|
||||||
|
xive_dir = debugfs_create_dir("xive", arch_debugfs_dir);
|
||||||
|
if (IS_ERR(xive_dir))
|
||||||
|
return;
|
||||||
|
|
||||||
|
debugfs_create_file("cpus", 0400, xive_dir,
|
||||||
|
NULL, &xive_cpu_debug_fops);
|
||||||
|
debugfs_create_file("interrupts", 0400, xive_dir,
|
||||||
|
NULL, &xive_irq_debug_fops);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
static inline void xive_core_debugfs_create(void) { }
|
static inline void xive_core_debugfs_create(void) { }
|
||||||
|
Loading…
Reference in New Issue
Block a user