kfree(drm->debugfs);
        drm->debugfs = NULL;
 }
+
+int
+nouveau_module_debugfs_init(void)
+{
+       nouveau_debugfs_root = debugfs_create_dir("nouveau", NULL);
+       if (IS_ERR(nouveau_debugfs_root))
+               return PTR_ERR(nouveau_debugfs_root);
+
+       return 0;
+}
+
+void
+nouveau_module_debugfs_fini(void)
+{
+       debugfs_remove(nouveau_debugfs_root);
+}
 
 extern void  nouveau_drm_debugfs_init(struct drm_minor *);
 extern int  nouveau_debugfs_init(struct nouveau_drm *);
 extern void nouveau_debugfs_fini(struct nouveau_drm *);
+
+extern struct dentry *nouveau_debugfs_root;
+
+int  nouveau_module_debugfs_init(void);
+void nouveau_module_debugfs_fini(void);
 #else
 static inline void
 nouveau_drm_debugfs_init(struct drm_minor *minor)
 {
 }
 
+static inline int
+nouveau_module_debugfs_init(void)
+{
+       return 0;
+}
+
+static inline void
+nouveau_module_debugfs_fini(void)
+{
+}
+
 #endif
 
 #endif
 
 static struct drm_driver driver_pci;
 static struct drm_driver driver_platform;
 
+#ifdef CONFIG_DEBUG_FS
+struct dentry *nouveau_debugfs_root;
+#endif
+
 static u64
 nouveau_pci_name(struct pci_dev *pdev)
 {
 static int __init
 nouveau_drm_init(void)
 {
+       int ret;
+
        driver_pci = driver_stub;
        driver_platform = driver_stub;
 
        if (!nouveau_modeset)
                return 0;
 
+       ret = nouveau_module_debugfs_init();
+       if (ret)
+               return ret;
+
 #ifdef CONFIG_NOUVEAU_PLATFORM_DRIVER
        platform_driver_register(&nouveau_platform_driver);
 #endif
        nouveau_backlight_ctor();
 
 #ifdef CONFIG_PCI
-       return pci_register_driver(&nouveau_drm_pci_driver);
-#else
-       return 0;
+       ret = pci_register_driver(&nouveau_drm_pci_driver);
+       if (ret) {
+               nouveau_module_debugfs_fini();
+               return ret;
+       }
 #endif
+
+       return 0;
 }
 
 static void __exit
 #endif
        if (IS_ENABLED(CONFIG_DRM_NOUVEAU_SVM))
                mmu_notifier_synchronize();
+
+       nouveau_module_debugfs_fini();
 }
 
 module_init(nouveau_drm_init);