Loading...
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 */
19extern struct kernfs_node *sysfs_root_kn;
20
21/*
22 * dir.c
23 */
24extern spinlock_t sysfs_symlink_target_lock;
25
26void sysfs_warn_dup(struct kernfs_node *parent, const char *name);
27
28/*
29 * file.c
30 */
31int sysfs_add_file(struct kernfs_node *parent,
32 const struct attribute *attr, bool is_bin);
33int 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 */
40int sysfs_create_link_sd(struct kernfs_node *kn, struct kobject *target,
41 const char *name);
42
43#endif /* __SYSFS_INTERNAL_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 */
18extern struct kernfs_node *sysfs_root_kn;
19
20/*
21 * dir.c
22 */
23extern spinlock_t sysfs_symlink_target_lock;
24
25void sysfs_warn_dup(struct kernfs_node *parent, const char *name);
26
27/*
28 * file.c
29 */
30int sysfs_add_file(struct kernfs_node *parent,
31 const struct attribute *attr, bool is_bin);
32int 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 */
39int sysfs_create_link_sd(struct kernfs_node *kn, struct kobject *target,
40 const char *name);
41
42#endif /* __SYSFS_INTERNAL_H */