diff options
Diffstat (limited to 'fs/sysfs/symlink.c')
-rw-r--r-- | fs/sysfs/symlink.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/fs/sysfs/symlink.c b/fs/sysfs/symlink.c index 8c940df97a52..2dd4507d9edd 100644 --- a/fs/sysfs/symlink.c +++ b/fs/sysfs/symlink.c | |||
@@ -125,6 +125,7 @@ int sysfs_create_link(struct kobject *kobj, struct kobject *target, | |||
125 | { | 125 | { |
126 | return sysfs_do_create_link(kobj, target, name, 1); | 126 | return sysfs_do_create_link(kobj, target, name, 1); |
127 | } | 127 | } |
128 | EXPORT_SYMBOL_GPL(sysfs_create_link); | ||
128 | 129 | ||
129 | /** | 130 | /** |
130 | * sysfs_create_link_nowarn - create symlink between two objects. | 131 | * sysfs_create_link_nowarn - create symlink between two objects. |
@@ -166,8 +167,7 @@ void sysfs_delete_link(struct kobject *kobj, struct kobject *targ, | |||
166 | * @kobj: object we're acting for. | 167 | * @kobj: object we're acting for. |
167 | * @name: name of the symlink to remove. | 168 | * @name: name of the symlink to remove. |
168 | */ | 169 | */ |
169 | 170 | void sysfs_remove_link(struct kobject *kobj, const char *name) | |
170 | void sysfs_remove_link(struct kobject * kobj, const char * name) | ||
171 | { | 171 | { |
172 | struct sysfs_dirent *parent_sd = NULL; | 172 | struct sysfs_dirent *parent_sd = NULL; |
173 | 173 | ||
@@ -178,6 +178,7 @@ void sysfs_remove_link(struct kobject * kobj, const char * name) | |||
178 | 178 | ||
179 | sysfs_hash_and_remove(parent_sd, NULL, name); | 179 | sysfs_hash_and_remove(parent_sd, NULL, name); |
180 | } | 180 | } |
181 | EXPORT_SYMBOL_GPL(sysfs_remove_link); | ||
181 | 182 | ||
182 | /** | 183 | /** |
183 | * sysfs_rename_link - rename symlink in object's directory. | 184 | * sysfs_rename_link - rename symlink in object's directory. |
@@ -223,6 +224,7 @@ out: | |||
223 | sysfs_put(sd); | 224 | sysfs_put(sd); |
224 | return result; | 225 | return result; |
225 | } | 226 | } |
227 | EXPORT_SYMBOL_GPL(sysfs_rename_link); | ||
226 | 228 | ||
227 | static int sysfs_get_target_path(struct sysfs_dirent *parent_sd, | 229 | static int sysfs_get_target_path(struct sysfs_dirent *parent_sd, |
228 | struct sysfs_dirent *target_sd, char *path) | 230 | struct sysfs_dirent *target_sd, char *path) |
@@ -276,7 +278,7 @@ static int sysfs_get_target_path(struct sysfs_dirent *parent_sd, | |||
276 | return 0; | 278 | return 0; |
277 | } | 279 | } |
278 | 280 | ||
279 | static int sysfs_getlink(struct dentry *dentry, char * path) | 281 | static int sysfs_getlink(struct dentry *dentry, char *path) |
280 | { | 282 | { |
281 | struct sysfs_dirent *sd = dentry->d_fsdata; | 283 | struct sysfs_dirent *sd = dentry->d_fsdata; |
282 | struct sysfs_dirent *parent_sd = sd->s_parent; | 284 | struct sysfs_dirent *parent_sd = sd->s_parent; |
@@ -295,7 +297,7 @@ static void *sysfs_follow_link(struct dentry *dentry, struct nameidata *nd) | |||
295 | int error = -ENOMEM; | 297 | int error = -ENOMEM; |
296 | unsigned long page = get_zeroed_page(GFP_KERNEL); | 298 | unsigned long page = get_zeroed_page(GFP_KERNEL); |
297 | if (page) { | 299 | if (page) { |
298 | error = sysfs_getlink(dentry, (char *) page); | 300 | error = sysfs_getlink(dentry, (char *) page); |
299 | if (error < 0) | 301 | if (error < 0) |
300 | free_page((unsigned long)page); | 302 | free_page((unsigned long)page); |
301 | } | 303 | } |
@@ -303,7 +305,8 @@ static void *sysfs_follow_link(struct dentry *dentry, struct nameidata *nd) | |||
303 | return NULL; | 305 | return NULL; |
304 | } | 306 | } |
305 | 307 | ||
306 | static void sysfs_put_link(struct dentry *dentry, struct nameidata *nd, void *cookie) | 308 | static void sysfs_put_link(struct dentry *dentry, struct nameidata *nd, |
309 | void *cookie) | ||
307 | { | 310 | { |
308 | char *page = nd_get_link(nd); | 311 | char *page = nd_get_link(nd); |
309 | if (!IS_ERR(page)) | 312 | if (!IS_ERR(page)) |
@@ -319,8 +322,3 @@ const struct inode_operations sysfs_symlink_inode_operations = { | |||
319 | .getattr = sysfs_getattr, | 322 | .getattr = sysfs_getattr, |
320 | .permission = sysfs_permission, | 323 | .permission = sysfs_permission, |
321 | }; | 324 | }; |
322 | |||
323 | |||
324 | EXPORT_SYMBOL_GPL(sysfs_create_link); | ||
325 | EXPORT_SYMBOL_GPL(sysfs_remove_link); | ||
326 | EXPORT_SYMBOL_GPL(sysfs_rename_link); | ||