]> git.sesse.net Git - bcachefs-tools-debian/blob - libbcachefs/sysfs.h
Add upstream files
[bcachefs-tools-debian] / libbcachefs / sysfs.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _BCACHEFS_SYSFS_H_
3 #define _BCACHEFS_SYSFS_H_
4
5 #include <linux/sysfs.h>
6
7 #ifndef NO_BCACHEFS_SYSFS
8
9 struct attribute;
10 struct sysfs_ops;
11
12 extern struct attribute *bch2_fs_files[];
13 extern struct attribute *bch2_fs_internal_files[];
14 extern struct attribute *bch2_fs_opts_dir_files[];
15 extern struct attribute *bch2_fs_time_stats_files[];
16 extern struct attribute *bch2_dev_files[];
17
18 extern struct sysfs_ops bch2_fs_sysfs_ops;
19 extern struct sysfs_ops bch2_fs_internal_sysfs_ops;
20 extern struct sysfs_ops bch2_fs_opts_dir_sysfs_ops;
21 extern struct sysfs_ops bch2_fs_time_stats_sysfs_ops;
22 extern struct sysfs_ops bch2_dev_sysfs_ops;
23
24 int bch2_opts_create_sysfs_files(struct kobject *);
25
26 #else
27
28 static struct attribute *bch2_fs_files[] = {};
29 static struct attribute *bch2_fs_internal_files[] = {};
30 static struct attribute *bch2_fs_opts_dir_files[] = {};
31 static struct attribute *bch2_fs_time_stats_files[] = {};
32 static struct attribute *bch2_dev_files[] = {};
33
34 static const struct sysfs_ops bch2_fs_sysfs_ops;
35 static const struct sysfs_ops bch2_fs_internal_sysfs_ops;
36 static const struct sysfs_ops bch2_fs_opts_dir_sysfs_ops;
37 static const struct sysfs_ops bch2_fs_time_stats_sysfs_ops;
38 static const struct sysfs_ops bch2_dev_sysfs_ops;
39
40 static inline int bch2_opts_create_sysfs_files(struct kobject *kobj) { return 0; }
41
42 #endif /* NO_BCACHEFS_SYSFS */
43
44 #endif  /* _BCACHEFS_SYSFS_H_ */