compat: move debugfs_remove_recursive() to compat-2.6.27
authorPavel Roskin <proski@gnu.org>
Sat, 20 Feb 2010 01:17:42 +0000 (20:17 -0500)
committerLuis R. Rodriguez <lrodriguez@atheros.com>
Sat, 20 Feb 2010 02:27:16 +0000 (18:27 -0800)
debugfs_remove_recursive() appeared in Linux 2.6.27, so it should be in
compat-2.6.27, not in compat-2.6.26.  Don't compile it if
CONFIG_DEBUG_FS is disabled.

Signed-off-by: Pavel Roskin <proski@gnu.org>
compat/compat-2.6.26.c
compat/compat-2.6.27.c
include/linux/compat-2.6.26.h
include/linux/compat-2.6.27.h

index 82134c2..b9bf9e7 100644 (file)
@@ -89,37 +89,5 @@ int dev_set_name(struct device *dev, const char *fmt, ...)
 }
 EXPORT_SYMBOL_GPL(dev_set_name);
 
-/*
- * Backport of debugfs_remove_recursive() without using the internals globals
- * which are used by the kernel's version with:
- * simple_release_fs(&debugfs_mount, &debugfs_mount_count);
- */
-void debugfs_remove_recursive(struct dentry *dentry)
-{
-       struct dentry *last = NULL;
-
-       /* Sanity checks */
-       if (!dentry || !dentry->d_parent || !dentry->d_parent->d_inode)
-               return;
-
-       while (dentry != last) {
-               struct dentry *child = dentry;
-
-               /* Find a child without children */
-               while (!list_empty(&child->d_subdirs))
-                       child = list_entry(child->d_subdirs.next,
-                                          struct dentry,
-                                          d_u.d_child);
-
-               /* Bail out if we already tried to remove that entry */
-               if (child == last)
-                       return;
-
-               last = child;
-               debugfs_remove(child);
-       }
-}
-EXPORT_SYMBOL_GPL(debugfs_remove_recursive);
-
 #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26) */
 
index 4fef36a..b78d465 100644 (file)
@@ -206,6 +206,39 @@ unsigned int sdio_align_size(struct sdio_func *func, unsigned int sz)
 EXPORT_SYMBOL_GPL(sdio_align_size);
 #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) */
 
+#ifdef CONFIG_DEBUG_FS
+/*
+ * Backport of debugfs_remove_recursive() without using the internals globals
+ * which are used by the kernel's version with:
+ * simple_release_fs(&debugfs_mount, &debugfs_mount_count);
+ */
+void debugfs_remove_recursive(struct dentry *dentry)
+{
+       struct dentry *last = NULL;
+
+       /* Sanity checks */
+       if (!dentry || !dentry->d_parent || !dentry->d_parent->d_inode)
+               return;
+
+       while (dentry != last) {
+               struct dentry *child = dentry;
+
+               /* Find a child without children */
+               while (!list_empty(&child->d_subdirs))
+                       child = list_entry(child->d_subdirs.next,
+                                          struct dentry,
+                                          d_u.d_child);
+
+               /* Bail out if we already tried to remove that entry */
+               if (child == last)
+                       return;
+
+               last = child;
+               debugfs_remove(child);
+       }
+}
+EXPORT_SYMBOL_GPL(debugfs_remove_recursive);
+#endif /* CONFIG_DEBUG_FS */
 
 #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27) */
 
index 498fe44..2bee30e 100644 (file)
 #include <linux/jiffies.h>
 #include <net/sock.h>
 #include <linux/fs.h>
-#include <linux/debugfs.h>
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24))
 #include <net/net_namespace.h>
 #endif
 #include <linux/fs.h>
 #include <linux/types.h>
 
-#if defined(CONFIG_DEBUG_FS)
-void debugfs_remove_recursive(struct dentry *dentry);
-#else
-static inline void debugfs_remove_recursive(struct dentry *dentry)
-{ }
-#endif
-
 /* These jiffie helpers added as of 2.6.26 */
 
 /*
index e9de41e..a690e2c 100644 (file)
@@ -5,6 +5,7 @@
 
 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27))
 
+#include <linux/debugfs.h>
 #include <linux/list.h>
 #include <linux/pci.h>
 #include <linux/dma-mapping.h>
@@ -212,6 +213,13 @@ static inline void dma_sync_single_range_for_device(struct device *dev,
 
 #endif /* arm */
 
+#if defined(CONFIG_DEBUG_FS)
+void debugfs_remove_recursive(struct dentry *dentry);
+#else
+static inline void debugfs_remove_recursive(struct dentry *dentry)
+{ }
+#endif
+
 #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)) */
 
 #endif /* LINUX_26_27_COMPAT_H */