Lines Matching refs:kobj
83 struct kobject *kobj; in sysctl_handle_attr() local
90 kobj = arg1; in sysctl_handle_attr()
92 if (kobj->ktype == NULL || kobj->ktype->sysfs_ops == NULL) in sysctl_handle_attr()
97 ops = kobj->ktype->sysfs_ops; in sysctl_handle_attr()
99 len = ops->show(kobj, attr, buf); in sysctl_handle_attr()
124 len = ops->store(kobj, attr, buf, len); in sysctl_handle_attr()
134 sysfs_create_file(struct kobject *kobj, const struct attribute *attr) in sysfs_create_file() argument
138 oid = SYSCTL_ADD_OID(NULL, SYSCTL_CHILDREN(kobj->oidp), OID_AUTO, in sysfs_create_file()
139 attr->name, CTLTYPE_STRING|CTLFLAG_RW|CTLFLAG_MPSAFE, kobj, in sysfs_create_file()
149 sysfs_remove_file(struct kobject *kobj, const struct attribute *attr) in sysfs_remove_file() argument
152 if (kobj->oidp) in sysfs_remove_file()
153 sysctl_remove_name(kobj->oidp, attr->name, 1, 1); in sysfs_remove_file()
157 sysfs_create_files(struct kobject *kobj, const struct attribute * const *attrs) in sysfs_create_files() argument
163 error = sysfs_create_file(kobj, attrs[i]); in sysfs_create_files()
165 sysfs_remove_file(kobj, attrs[i]); in sysfs_create_files()
171 sysfs_remove_files(struct kobject *kobj, const struct attribute * const *attrs) in sysfs_remove_files() argument
176 sysfs_remove_file(kobj, attrs[i]); in sysfs_remove_files()
180 sysfs_create_group(struct kobject *kobj, const struct attribute_group *grp) in sysfs_create_group() argument
187 oidp = SYSCTL_ADD_NODE(NULL, SYSCTL_CHILDREN(kobj->oidp), in sysfs_create_group()
190 oidp = kobj->oidp; in sysfs_create_group()
194 kobj, (uintptr_t)*attr, sysctl_handle_attr, "A", ""); in sysfs_create_group()
201 sysfs_remove_group(struct kobject *kobj, const struct attribute_group *grp) in sysfs_remove_group() argument
204 if (kobj->oidp) in sysfs_remove_group()
205 sysctl_remove_name(kobj->oidp, grp->name, 1, 1); in sysfs_remove_group()
209 sysfs_create_groups(struct kobject *kobj, const struct attribute_group **grps) in sysfs_create_groups() argument
217 error = sysfs_create_group(kobj, grps[i]); in sysfs_create_groups()
219 sysfs_remove_group(kobj, grps[i]); in sysfs_create_groups()
225 sysfs_remove_groups(struct kobject *kobj, const struct attribute_group **grps) in sysfs_remove_groups() argument
232 sysfs_remove_group(kobj, grps[i]); in sysfs_remove_groups()
236 sysfs_merge_group(struct kobject *kobj, const struct attribute_group *grp) in sysfs_merge_group() argument
240 return (sysfs_create_group(kobj, grp)); in sysfs_merge_group()
244 sysfs_unmerge_group(struct kobject *kobj, const struct attribute_group *grp) in sysfs_unmerge_group() argument
249 SLIST_FOREACH(oidp, SYSCTL_CHILDREN(kobj->oidp), oid_link) { in sysfs_unmerge_group()
259 sysfs_create_dir(struct kobject *kobj) in sysfs_create_dir() argument
263 oid = SYSCTL_ADD_NODE(NULL, SYSCTL_CHILDREN(kobj->parent->oidp), in sysfs_create_dir()
264 OID_AUTO, kobj->name, CTLFLAG_RD|CTLFLAG_MPSAFE, NULL, kobj->name); in sysfs_create_dir()
268 kobj->oidp = oid; in sysfs_create_dir()
274 sysfs_remove_dir(struct kobject *kobj) in sysfs_remove_dir() argument
277 if (kobj->oidp == NULL) in sysfs_remove_dir()
279 sysctl_remove_oid(kobj->oidp, 1, 1); in sysfs_remove_dir()