Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ba341d55 authored by Tejun Heo's avatar Tejun Heo Committed by Greg Kroah-Hartman
Browse files

kernfs: add CONFIG_KERNFS



As sysfs was kernfs's only user, kernfs has been piggybacking on
CONFIG_SYSFS; however, kernfs is scheduled to grow a new user very
soon.  Introduce a separate config option CONFIG_KERNFS which is to be
selected by kernfs users.

Signed-off-by: default avatarTejun Heo <tj@kernel.org>
Cc: linux-fsdevel@vger.kernel.org
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent fa4cd451
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@ endif # BLOCK
menu "Pseudo filesystems"

source "fs/proc/Kconfig"
source "fs/kernfs/Kconfig"
source "fs/sysfs/Kconfig"

config TMPFS
+2 −1
Original line number Diff line number Diff line
@@ -52,7 +52,8 @@ obj-$(CONFIG_FHANDLE) += fhandle.o
obj-y				+= quota/

obj-$(CONFIG_PROC_FS)		+= proc/
obj-$(CONFIG_SYSFS)		+= sysfs/ kernfs/
obj-$(CONFIG_KERNFS)		+= kernfs/
obj-$(CONFIG_SYSFS)		+= sysfs/
obj-$(CONFIG_CONFIGFS_FS)	+= configfs/
obj-y				+= devpts/

fs/kernfs/Kconfig

0 → 100644
+7 −0
Original line number Diff line number Diff line
#
# KERNFS should be selected by its users
#

config KERNFS
	bool
	default n
+1 −0
Original line number Diff line number Diff line
config SYSFS
	bool "sysfs file system support" if EXPERT
	default y
	select KERNFS
	help
	The sysfs filesystem is a virtual filesystem that the kernel uses to
	export internal kernel objects, their attributes, and their
+3 −3
Original line number Diff line number Diff line
@@ -201,7 +201,7 @@ struct kernfs_ops {
#endif
};

#ifdef CONFIG_SYSFS
#ifdef CONFIG_KERNFS

static inline enum kernfs_node_type kernfs_type(struct kernfs_node *kn)
{
@@ -284,7 +284,7 @@ void kernfs_kill_sb(struct super_block *sb);

void kernfs_init(void);

#else	/* CONFIG_SYSFS */
#else	/* CONFIG_KERNFS */

static inline enum kernfs_node_type kernfs_type(struct kernfs_node *kn)
{ return 0; }	/* whatever */
@@ -379,7 +379,7 @@ static inline void kernfs_kill_sb(struct super_block *sb) { }

static inline void kernfs_init(void) { }

#endif	/* CONFIG_SYSFS */
#endif	/* CONFIG_KERNFS */

static inline struct kernfs_node *
kernfs_find_and_get(struct kernfs_node *kn, const char *name)