Merge tag 'drm-misc-next-2018-02-13' of git://anongit.freedesktop.org/drm/drm-misc...
[sfrench/cifs-2.6.git] / fs / sysfs / sysfs.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * fs/sysfs/sysfs.h - sysfs internal header file
4  *
5  * Copyright (c) 2001-3 Patrick Mochel
6  * Copyright (c) 2007 SUSE Linux Products GmbH
7  * Copyright (c) 2007 Tejun Heo <teheo@suse.de>
8  */
9
10 #ifndef __SYSFS_INTERNAL_H
11 #define __SYSFS_INTERNAL_H
12
13 #include <linux/sysfs.h>
14
15 /*
16  * mount.c
17  */
18 extern struct kernfs_node *sysfs_root_kn;
19
20 /*
21  * dir.c
22  */
23 extern spinlock_t sysfs_symlink_target_lock;
24
25 void sysfs_warn_dup(struct kernfs_node *parent, const char *name);
26
27 /*
28  * file.c
29  */
30 int sysfs_add_file(struct kernfs_node *parent,
31                    const struct attribute *attr, bool is_bin);
32 int sysfs_add_file_mode_ns(struct kernfs_node *parent,
33                            const struct attribute *attr, bool is_bin,
34                            umode_t amode, const void *ns);
35
36 /*
37  * symlink.c
38  */
39 int sysfs_create_link_sd(struct kernfs_node *kn, struct kobject *target,
40                          const char *name);
41
42 #endif  /* __SYSFS_INTERNAL_H */