Lines Matching full:grp
20 const struct attribute_group *grp) in remove_files() argument
25 if (grp->attrs) in remove_files()
26 for (attr = grp->attrs; *attr; attr++) in remove_files()
28 if (grp->bin_attrs) in remove_files()
29 for (bin_attr = grp->bin_attrs; *bin_attr; bin_attr++) in remove_files()
35 const struct attribute_group *grp, int update) in create_files() argument
41 if (grp->attrs) { in create_files()
42 for (i = 0, attr = grp->attrs; *attr && !error; i++, attr++) { in create_files()
52 if (grp->is_visible) { in create_files()
53 mode = grp->is_visible(kobj, *attr, i); in create_files()
69 remove_files(parent, grp); in create_files()
74 if (grp->bin_attrs) { in create_files()
75 for (i = 0, bin_attr = grp->bin_attrs; *bin_attr; i++, bin_attr++) { in create_files()
81 if (grp->is_bin_visible) { in create_files()
82 mode = grp->is_bin_visible(kobj, *bin_attr, i); in create_files()
100 remove_files(parent, grp); in create_files()
108 const struct attribute_group *grp) in internal_create_group() argument
120 if (!grp->attrs && !grp->bin_attrs) { in internal_create_group()
122 kobj->name, grp->name ?: ""); in internal_create_group()
126 if (grp->name) { in internal_create_group()
128 kn = kernfs_find_and_get(kobj->sd, grp->name); in internal_create_group()
130 pr_warn("Can't update unknown attr grp name: %s/%s\n", in internal_create_group()
131 kobj->name, grp->name); in internal_create_group()
135 kn = kernfs_create_dir_ns(kobj->sd, grp->name, in internal_create_group()
140 sysfs_warn_dup(kobj->sd, grp->name); in internal_create_group()
147 error = create_files(kn, kobj, uid, gid, grp, update); in internal_create_group()
149 if (grp->name) in internal_create_group()
154 if (grp->name && update) in internal_create_group()
163 * @grp: The attribute group to create
171 const struct attribute_group *grp) in sysfs_create_group() argument
173 return internal_create_group(kobj, 0, grp); in sysfs_create_group()
214 * @grp: The attribute group to update
230 const struct attribute_group *grp) in sysfs_update_group() argument
232 return internal_create_group(kobj, 1, grp); in sysfs_update_group()
239 * @grp: group to remove
245 const struct attribute_group *grp) in sysfs_remove_group() argument
250 if (grp->name) { in sysfs_remove_group()
251 kn = kernfs_find_and_get(parent, grp->name); in sysfs_remove_group()
255 grp->name, kobject_name(kobj)); in sysfs_remove_group()
263 remove_files(kn, grp); in sysfs_remove_group()
264 if (grp->name) in sysfs_remove_group()
294 * @grp: The files to create and the attribute group they belong to.
301 const struct attribute_group *grp) in sysfs_merge_group() argument
310 parent = kernfs_find_and_get(kobj->sd, grp->name); in sysfs_merge_group()
316 for ((i = 0, attr = grp->attrs); *attr && !error; (++i, ++attr)) in sysfs_merge_group()
332 * @grp: The files to remove and the attribute group they belong to.
335 const struct attribute_group *grp) in sysfs_unmerge_group() argument
340 parent = kernfs_find_and_get(kobj->sd, grp->name); in sysfs_unmerge_group()
342 for (attr = grp->attrs; *attr; ++attr) in sysfs_unmerge_group()