1 /* SPDX-License-Identifier: GPL-2.0 */
3 * fs/sysfs/sysfs.h - sysfs internal header file
5 * Copyright (c) 2001-3 Patrick Mochel
6 * Copyright (c) 2007 SUSE Linux Products GmbH
7 * Copyright (c) 2007 Tejun Heo <teheo@suse.de>
10 #ifndef __SYSFS_INTERNAL_H
11 #define __SYSFS_INTERNAL_H
13 #include <linux/sysfs.h>
18 extern struct kernfs_node
*sysfs_root_kn
;
23 extern spinlock_t sysfs_symlink_target_lock
;
25 void sysfs_warn_dup(struct kernfs_node
*parent
, const char *name
);
30 int sysfs_add_file_mode_ns(struct kernfs_node
*parent
,
31 const struct attribute
*attr
, umode_t amode
, kuid_t uid
,
32 kgid_t gid
, const void *ns
);
33 int sysfs_add_bin_file_mode_ns(struct kernfs_node
*parent
,
34 const struct bin_attribute
*battr
, umode_t mode
,
35 kuid_t uid
, kgid_t gid
, const void *ns
);
40 int sysfs_create_link_sd(struct kernfs_node
*kn
, struct kobject
*target
,
43 #endif /* __SYSFS_INTERNAL_H */