Skip to content

Commit

Permalink
kernfs: add CONFIG_KERNFS
Browse files Browse the repository at this point in the history
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: Tejun Heo <[email protected]>
Cc: [email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
  • Loading branch information
htejun authored and gregkh committed Feb 8, 2014
1 parent fa4cd45 commit ba341d5
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 4 deletions.
1 change: 1 addition & 0 deletions fs/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ endif # BLOCK
menu "Pseudo filesystems"

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

config TMPFS
Expand Down
3 changes: 2 additions & 1 deletion fs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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/

Expand Down
7 changes: 7 additions & 0 deletions fs/kernfs/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#
# KERNFS should be selected by its users
#

config KERNFS
bool
default n
1 change: 1 addition & 0 deletions fs/sysfs/Kconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
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
Expand Down
6 changes: 3 additions & 3 deletions include/linux/kernfs.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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 */
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit ba341d5

Please sign in to comment.