mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
sysfs: fix attribute_group bin file path on removal
Cody Schafer already fixed binary file creation for attribute groups, see [1]. This patch makes the appropriate changes for binary file removal of attribute groups. [1]: http://lkml.org/lkml/2014/2/27/832 Signed-off-by: Robert ABEL <rabel@cit-ec.uni-bielefeld.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
78e1da6270
commit
9f70a40128
1 changed files with 5 additions and 5 deletions
|
@ -18,7 +18,7 @@
|
||||||
#include "sysfs.h"
|
#include "sysfs.h"
|
||||||
|
|
||||||
|
|
||||||
static void remove_files(struct kernfs_node *parent, struct kobject *kobj,
|
static void remove_files(struct kernfs_node *parent,
|
||||||
const struct attribute_group *grp)
|
const struct attribute_group *grp)
|
||||||
{
|
{
|
||||||
struct attribute *const *attr;
|
struct attribute *const *attr;
|
||||||
|
@ -29,7 +29,7 @@ static void remove_files(struct kernfs_node *parent, struct kobject *kobj,
|
||||||
kernfs_remove_by_name(parent, (*attr)->name);
|
kernfs_remove_by_name(parent, (*attr)->name);
|
||||||
if (grp->bin_attrs)
|
if (grp->bin_attrs)
|
||||||
for (bin_attr = grp->bin_attrs; *bin_attr; bin_attr++)
|
for (bin_attr = grp->bin_attrs; *bin_attr; bin_attr++)
|
||||||
sysfs_remove_bin_file(kobj, *bin_attr);
|
kernfs_remove_by_name(parent, (*bin_attr)->attr.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int create_files(struct kernfs_node *parent, struct kobject *kobj,
|
static int create_files(struct kernfs_node *parent, struct kobject *kobj,
|
||||||
|
@ -62,7 +62,7 @@ static int create_files(struct kernfs_node *parent, struct kobject *kobj,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (error) {
|
if (error) {
|
||||||
remove_files(parent, kobj, grp);
|
remove_files(parent, grp);
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,7 +79,7 @@ static int create_files(struct kernfs_node *parent, struct kobject *kobj,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (error)
|
if (error)
|
||||||
remove_files(parent, kobj, grp);
|
remove_files(parent, grp);
|
||||||
}
|
}
|
||||||
exit:
|
exit:
|
||||||
return error;
|
return error;
|
||||||
|
@ -224,7 +224,7 @@ void sysfs_remove_group(struct kobject *kobj,
|
||||||
kernfs_get(kn);
|
kernfs_get(kn);
|
||||||
}
|
}
|
||||||
|
|
||||||
remove_files(kn, kobj, grp);
|
remove_files(kn, grp);
|
||||||
if (grp->name)
|
if (grp->name)
|
||||||
kernfs_remove(kn);
|
kernfs_remove(kn);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue