xref: /linux/fs/sysfs/sysfs.h (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
1 /*
2  * fs/sysfs/sysfs.h - sysfs internal header file
3  *
4  * Copyright (c) 2001-3 Patrick Mochel
5  * Copyright (c) 2007 SUSE Linux Products GmbH
6  * Copyright (c) 2007 Tejun Heo <teheo@suse.de>
7  *
8  * This file is released under the GPLv2.
9  */
10 
11 #ifndef __SYSFS_INTERNAL_H
12 #define __SYSFS_INTERNAL_H
13 
14 #include <linux/sysfs.h>
15 
16 /*
17  * mount.c
18  */
19 extern struct kernfs_node *sysfs_root_kn;
20 
21 /*
22  * dir.c
23  */
24 extern spinlock_t sysfs_symlink_target_lock;
25 
26 void sysfs_warn_dup(struct kernfs_node *parent, const char *name);
27 
28 /*
29  * file.c
30  */
31 int sysfs_add_file(struct kernfs_node *parent,
32 		   const struct attribute *attr, bool is_bin);
33 int sysfs_add_file_mode_ns(struct kernfs_node *parent,
34 			   const struct attribute *attr, bool is_bin,
35 			   umode_t amode, const void *ns);
36 
37 /*
38  * symlink.c
39  */
40 int sysfs_create_link_sd(struct kernfs_node *kn, struct kobject *target,
41 			 const char *name);
42 
43 #endif	/* __SYSFS_INTERNAL_H */
44