diff options
| -rw-r--r-- | arch/powerpc/platforms/pseries/vas-sysfs.c | 6 | ||||
| -rw-r--r-- | fs/sysfs/file.c | 13 | ||||
| -rw-r--r-- | include/linux/kobject.h | 1 | ||||
| -rw-r--r-- | lib/kobject.c | 32 | 
4 files changed, 4 insertions, 48 deletions
| diff --git a/arch/powerpc/platforms/pseries/vas-sysfs.c b/arch/powerpc/platforms/pseries/vas-sysfs.c index 4a7fcde5afc0..909535ca513a 100644 --- a/arch/powerpc/platforms/pseries/vas-sysfs.c +++ b/arch/powerpc/platforms/pseries/vas-sysfs.c @@ -99,6 +99,7 @@ static struct attribute *vas_def_capab_attrs[] = {  	&nr_used_credits_attribute.attr,  	NULL,  }; +ATTRIBUTE_GROUPS(vas_def_capab);  static struct attribute *vas_qos_capab_attrs[] = {  	&nr_total_credits_attribute.attr, @@ -106,6 +107,7 @@ static struct attribute *vas_qos_capab_attrs[] = {  	&update_total_credits_attribute.attr,  	NULL,  }; +ATTRIBUTE_GROUPS(vas_qos_capab);  static ssize_t vas_type_show(struct kobject *kobj, struct attribute *attr,  			     char *buf) @@ -154,13 +156,13 @@ static const struct sysfs_ops vas_sysfs_ops = {  static struct kobj_type vas_def_attr_type = {  		.release	=	vas_type_release,  		.sysfs_ops      =       &vas_sysfs_ops, -		.default_attrs  =       vas_def_capab_attrs, +		.default_groups	=	vas_def_capab_groups,  };  static struct kobj_type vas_qos_attr_type = {  		.release	=	vas_type_release,  		.sysfs_ops	=	&vas_sysfs_ops, -		.default_attrs	=	vas_qos_capab_attrs, +		.default_groups	=	vas_qos_capab_groups,  };  static char *vas_caps_kobj_name(struct vas_caps_entry *centry, diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c index 42dcf96881b6..a12ac0356c69 100644 --- a/fs/sysfs/file.c +++ b/fs/sysfs/file.c @@ -703,19 +703,6 @@ int sysfs_change_owner(struct kobject *kobj, kuid_t kuid, kgid_t kgid)  	ktype = get_ktype(kobj);  	if (ktype) { -		struct attribute **kattr; - -		/* -		 * Change owner of the default attributes associated with the -		 * ktype of @kobj. -		 */ -		for (kattr = ktype->default_attrs; kattr && *kattr; kattr++) { -			error = sysfs_file_change_owner(kobj, (*kattr)->name, -							kuid, kgid); -			if (error) -				return error; -		} -  		/*  		 * Change owner of the default groups associated with the  		 * ktype of @kobj. diff --git a/include/linux/kobject.h b/include/linux/kobject.h index c7b47399b36a..57fb972fea05 100644 --- a/include/linux/kobject.h +++ b/include/linux/kobject.h @@ -120,7 +120,6 @@ extern char *kobject_get_path(struct kobject *kobj, gfp_t flag);  struct kobj_type {  	void (*release)(struct kobject *kobj);  	const struct sysfs_ops *sysfs_ops; -	struct attribute **default_attrs;	/* use default_groups instead */  	const struct attribute_group **default_groups;  	const struct kobj_ns_type_operations *(*child_ns_type)(struct kobject *kobj);  	const void *(*namespace)(struct kobject *kobj); diff --git a/lib/kobject.c b/lib/kobject.c index 56fa037501b5..5f0e71ab292c 100644 --- a/lib/kobject.c +++ b/lib/kobject.c @@ -54,32 +54,6 @@ void kobject_get_ownership(struct kobject *kobj, kuid_t *uid, kgid_t *gid)  		kobj->ktype->get_ownership(kobj, uid, gid);  } -/* - * populate_dir - populate directory with attributes. - * @kobj: object we're working on. - * - * Most subsystems have a set of default attributes that are associated - * with an object that registers with them.  This is a helper called during - * object registration that loops through the default attributes of the - * subsystem and creates attributes files for them in sysfs. - */ -static int populate_dir(struct kobject *kobj) -{ -	const struct kobj_type *t = get_ktype(kobj); -	struct attribute *attr; -	int error = 0; -	int i; - -	if (t && t->default_attrs) { -		for (i = 0; (attr = t->default_attrs[i]) != NULL; i++) { -			error = sysfs_create_file(kobj, attr); -			if (error) -				break; -		} -	} -	return error; -} -  static int create_dir(struct kobject *kobj)  {  	const struct kobj_type *ktype = get_ktype(kobj); @@ -90,12 +64,6 @@ static int create_dir(struct kobject *kobj)  	if (error)  		return error; -	error = populate_dir(kobj); -	if (error) { -		sysfs_remove_dir(kobj); -		return error; -	} -  	if (ktype) {  		error = sysfs_create_groups(kobj, ktype->default_groups);  		if (error) { |