depends on KGDB || XMON
        default y
 
-config VIRQ_DEBUG
-       bool "Expose hardware/virtual IRQ mapping via debugfs"
-       depends on DEBUG_FS
-       help
-         This option will show the mapping relationship between hardware irq
-         numbers and virtual irq numbers. The mapping is exposed via debugfs
-         in the file powerpc/virq_mapping.
-
-         If you don't know what this means you don't need it.
-
 config BDI_SWITCH
        bool "Include BDI-2000 user context switcher"
        depends on DEBUG_KERNEL && PPC32
 
 config IRQ_DOMAIN
        bool
 
+config IRQ_DOMAIN_DEBUG
+       bool "Expose hardware/virtual IRQ mapping via debugfs"
+       depends on IRQ_DOMAIN && DEBUG_FS
+       help
+         This option will show the mapping relationship between hardware irq
+         numbers and Linux irq numbers. The mapping is exposed via debugfs
+         in the file "virq_mapping".
+
+         If you don't know what this means you don't need it.
+
 # Support forced irq threading
 config IRQ_FORCED_THREADING
        bool
 
        return revmap[hwirq];
 }
 
-#ifdef CONFIG_VIRQ_DEBUG
+#ifdef CONFIG_IRQ_DOMAIN_DEBUG
 static int virq_debug_show(struct seq_file *m, void *private)
 {
        unsigned long flags;
                        data = irq_desc_get_chip_data(desc);
                        seq_printf(m, "0x%16p  ", data);
 
-                       if (desc->irq_data.domain->of_node)
+                       if (desc->irq_data.domain && desc->irq_data.domain->of_node)
                                p = desc->irq_data.domain->of_node->full_name;
                        else
                                p = none;
 
 static int __init irq_debugfs_init(void)
 {
-       if (debugfs_create_file("virq_mapping", S_IRUGO, powerpc_debugfs_root,
+       if (debugfs_create_file("irq_domain_mapping", S_IRUGO, NULL,
                                 NULL, &virq_debug_fops) == NULL)
                return -ENOMEM;
 
        return 0;
 }
 __initcall(irq_debugfs_init);
-#endif /* CONFIG_VIRQ_DEBUG */
+#endif /* CONFIG_IRQ_DOMAIN_DEBUG */
 
 int irq_domain_simple_map(struct irq_domain *d, unsigned int irq,
                          irq_hw_number_t hwirq)