aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/kernfs.h
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2013-11-23 17:21:49 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-11-27 13:57:56 -0800
commit879f40d193bb3c6c13930e88e3e9d5d7baf84d19 (patch)
treeb09863db44998ae61f572f816e93100cb56250cc /include/linux/kernfs.h
parentsysfs, kernfs: add skeletons for kernfs (diff)
downloadlinux-dev-879f40d193bb3c6c13930e88e3e9d5d7baf84d19.tar.xz
linux-dev-879f40d193bb3c6c13930e88e3e9d5d7baf84d19.zip
sysfs, kernfs: introduce kernfs_remove[_by_name[_ns]]()
Introduce kernfs removal interfaces - kernfs_remove() and kernfs_remove_by_name[_ns](). These are just renames of sysfs_remove() and sysfs_hash_and_remove(). No functional changes. v2: Dummy kernfs_remove_by_name_ns() for !CONFIG_SYSFS updated to return -ENOSYS instead of 0. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/kernfs.h')
-rw-r--r--include/linux/kernfs.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h
index 254b9e872b09..83e151ad0619 100644
--- a/include/linux/kernfs.h
+++ b/include/linux/kernfs.h
@@ -7,6 +7,30 @@
#ifndef __LINUX_KERNFS_H
#define __LINUX_KERNFS_H
+#include <linux/kernel.h>
+
struct sysfs_dirent;
+#ifdef CONFIG_SYSFS
+
+void kernfs_remove(struct sysfs_dirent *sd);
+int kernfs_remove_by_name_ns(struct sysfs_dirent *parent, const char *name,
+ const void *ns);
+
+#else /* CONFIG_SYSFS */
+
+static inline void kernfs_remove(struct sysfs_dirent *sd) { }
+
+static inline int kernfs_remove_by_name_ns(struct sysfs_dirent *parent,
+ const char *name, const void *ns)
+{ return -ENOSYS; }
+
+#endif /* CONFIG_SYSFS */
+
+static inline int kernfs_remove_by_name(struct sysfs_dirent *parent,
+ const char *name)
+{
+ return kernfs_remove_by_name_ns(parent, name, NULL);
+}
+
#endif /* __LINUX_KERNFS_H */