Commit f91c01ac authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

[PATCH] sysfs: add sysfs_rename_dir()

Based on a patch written by Dan Aloni <da-x@gmx.net>
parent 04798180
...@@ -121,7 +121,29 @@ void sysfs_remove_dir(struct kobject * kobj) ...@@ -121,7 +121,29 @@ void sysfs_remove_dir(struct kobject * kobj)
dput(parent); dput(parent);
} }
void sysfs_rename_dir(struct kobject * kobj, char *new_name)
{
struct dentry * new_dentry, * parent;
if (!strcmp(kobj->name, new_name))
return;
if (!kobj->parent)
return;
parent = kobj->parent->dentry;
down(&parent->d_inode->i_sem);
new_dentry = sysfs_get_dentry(parent, new_name);
d_move(kobj->dentry, new_dentry);
strlcpy(kobj->name, new_name, KOBJ_NAME_LEN);
up(&parent->d_inode->i_sem);
}
EXPORT_SYMBOL(sysfs_create_dir); EXPORT_SYMBOL(sysfs_create_dir);
EXPORT_SYMBOL(sysfs_remove_dir); EXPORT_SYMBOL(sysfs_remove_dir);
EXPORT_SYMBOL(sysfs_rename_dir);
...@@ -39,6 +39,9 @@ sysfs_create_dir(struct kobject *); ...@@ -39,6 +39,9 @@ sysfs_create_dir(struct kobject *);
extern void extern void
sysfs_remove_dir(struct kobject *); sysfs_remove_dir(struct kobject *);
extern void
sysfs_rename_dir(struct kobject *, char *new_name);
extern int extern int
sysfs_create_file(struct kobject *, struct attribute *); sysfs_create_file(struct kobject *, struct attribute *);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment