static void gr_dfs_create(struct gr_udc *dev)
 {
        const char *name = "gr_udc_state";
+       struct dentry *root;
 
-       dev->dfs_root = debugfs_create_dir(dev_name(dev->dev), usb_debug_root);
-       debugfs_create_file(name, 0444, dev->dfs_root, dev, &gr_dfs_fops);
+       root = debugfs_create_dir(dev_name(dev->dev), usb_debug_root);
+       debugfs_create_file(name, 0444, root, dev, &gr_dfs_fops);
 }
 
 static void gr_dfs_delete(struct gr_udc *dev)
 {
-       debugfs_remove_recursive(dev->dfs_root);
+       debugfs_remove(debugfs_lookup(dev_name(dev->dev), usb_debug_root));
 }
 
 #else /* !CONFIG_USB_GADGET_DEBUG_FS */
 
        struct list_head ep_list;
 
        spinlock_t lock; /* General lock, a.k.a. "dev->lock" in comments */
-
-       struct dentry *dfs_root;
 };
 
 #define to_gr_udc(gadget)      (container_of((gadget), struct gr_udc, gadget))