On 08/21/13 13:35, Greg Kroah-Hartman wrote: > > --- a/fs/sysfs/group.c > +++ b/fs/sysfs/group.c > @@ -131,6 +131,39 @@ int sysfs_create_group(struct kobject *k > } > > /** > + * sysfs_create_groups - given a directory kobject, create a bunch of > attribute groups > + * @kobj: The kobject to create the group on > + * @groups: The attribute groups to create, NULL terminated > + * > + * This function creates a bunch of attribute groups. If an error occurs > when > + * creating a group, all previously created groups will be removed, unwinding > + * everything back to the original state when this function was called. > + * It will explicitly warn and error if any of the attribute files being > + * created already exist. > + * > + * Returns 0 on success or error.
ambiguous. How about: Returns 0 on success or error code on error. > + */ > +int sysfs_create_groups(struct kobject *kobj, > + const struct attribute_group **groups) > +{ > + int error = 0; > + int i; > + > + if (!groups) > + return 0; > + > + for (i = 0; groups[i]; i++) { > + error = sysfs_create_group(kobj, groups[i]); > + if (error) { > + while (--i >= 0) > + sysfs_remove_group(kobj, groups[i]); > + break; > + } > + } > + return error; > +} -- ~Randy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/