diff options
Diffstat (limited to 'include/linux/sysfs.h')
-rw-r--r-- | include/linux/sysfs.h | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index eee485957c0c..192de3afa96b 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h | |||
@@ -16,6 +16,7 @@ | |||
16 | 16 | ||
17 | struct kobject; | 17 | struct kobject; |
18 | struct module; | 18 | struct module; |
19 | struct nameidata; | ||
19 | 20 | ||
20 | struct attribute { | 21 | struct attribute { |
21 | const char * name; | 22 | const char * name; |
@@ -89,13 +90,13 @@ struct sysfs_dirent { | |||
89 | #ifdef CONFIG_SYSFS | 90 | #ifdef CONFIG_SYSFS |
90 | 91 | ||
91 | extern int __must_check | 92 | extern int __must_check |
92 | sysfs_create_dir(struct kobject *); | 93 | sysfs_create_dir(struct kobject *, struct dentry *); |
93 | 94 | ||
94 | extern void | 95 | extern void |
95 | sysfs_remove_dir(struct kobject *); | 96 | sysfs_remove_dir(struct kobject *); |
96 | 97 | ||
97 | extern int __must_check | 98 | extern int __must_check |
98 | sysfs_rename_dir(struct kobject *, const char *new_name); | 99 | sysfs_rename_dir(struct kobject *, struct dentry *, const char *new_name); |
99 | 100 | ||
100 | extern int __must_check | 101 | extern int __must_check |
101 | sysfs_move_dir(struct kobject *, struct kobject *); | 102 | sysfs_move_dir(struct kobject *, struct kobject *); |
@@ -127,11 +128,17 @@ int __must_check sysfs_create_group(struct kobject *, | |||
127 | void sysfs_remove_group(struct kobject *, const struct attribute_group *); | 128 | void sysfs_remove_group(struct kobject *, const struct attribute_group *); |
128 | void sysfs_notify(struct kobject * k, char *dir, char *attr); | 129 | void sysfs_notify(struct kobject * k, char *dir, char *attr); |
129 | 130 | ||
131 | |||
132 | extern int sysfs_make_shadowed_dir(struct kobject *kobj, | ||
133 | void * (*follow_link)(struct dentry *, struct nameidata *)); | ||
134 | extern struct dentry *sysfs_create_shadow_dir(struct kobject *kobj); | ||
135 | extern void sysfs_remove_shadow_dir(struct dentry *dir); | ||
136 | |||
130 | extern int __must_check sysfs_init(void); | 137 | extern int __must_check sysfs_init(void); |
131 | 138 | ||
132 | #else /* CONFIG_SYSFS */ | 139 | #else /* CONFIG_SYSFS */ |
133 | 140 | ||
134 | static inline int sysfs_create_dir(struct kobject * k) | 141 | static inline int sysfs_create_dir(struct kobject * k, struct dentry *shadow) |
135 | { | 142 | { |
136 | return 0; | 143 | return 0; |
137 | } | 144 | } |
@@ -141,7 +148,9 @@ static inline void sysfs_remove_dir(struct kobject * k) | |||
141 | ; | 148 | ; |
142 | } | 149 | } |
143 | 150 | ||
144 | static inline int sysfs_rename_dir(struct kobject * k, const char *new_name) | 151 | static inline int sysfs_rename_dir(struct kobject * k, |
152 | struct dentry *new_parent, | ||
153 | const char *new_name) | ||
145 | { | 154 | { |
146 | return 0; | 155 | return 0; |
147 | } | 156 | } |
@@ -205,6 +214,12 @@ static inline void sysfs_notify(struct kobject * k, char *dir, char *attr) | |||
205 | { | 214 | { |
206 | } | 215 | } |
207 | 216 | ||
217 | static inline int sysfs_make_shadowed_dir(struct kobject *kobj, | ||
218 | void * (*follow_link)(struct dentry *, struct nameidata *)) | ||
219 | { | ||
220 | return 0; | ||
221 | } | ||
222 | |||
208 | static inline int __must_check sysfs_init(void) | 223 | static inline int __must_check sysfs_init(void) |
209 | { | 224 | { |
210 | return 0; | 225 | return 0; |