Lines Matching refs:kobj
82 struct kobject *kobj; in sysctl_handle_attr() local
89 kobj = arg1; in sysctl_handle_attr()
91 if (kobj->ktype == NULL || kobj->ktype->sysfs_ops == NULL) in sysctl_handle_attr()
96 ops = kobj->ktype->sysfs_ops; in sysctl_handle_attr()
98 len = ops->show(kobj, attr, buf); in sysctl_handle_attr()
123 len = ops->store(kobj, attr, buf, len); in sysctl_handle_attr()
133 sysfs_create_file(struct kobject *kobj, const struct attribute *attr) in sysfs_create_file() argument
137 oid = SYSCTL_ADD_OID(NULL, SYSCTL_CHILDREN(kobj->oidp), OID_AUTO, in sysfs_create_file()
138 attr->name, CTLTYPE_STRING|CTLFLAG_RW|CTLFLAG_MPSAFE, kobj, in sysfs_create_file()
148 sysfs_remove_file(struct kobject *kobj, const struct attribute *attr) in sysfs_remove_file() argument
151 if (kobj->oidp) in sysfs_remove_file()
152 sysctl_remove_name(kobj->oidp, attr->name, 1, 1); in sysfs_remove_file()
156 sysfs_create_files(struct kobject *kobj, const struct attribute * const *attrs) in sysfs_create_files() argument
162 error = sysfs_create_file(kobj, attrs[i]); in sysfs_create_files()
164 sysfs_remove_file(kobj, attrs[i]); in sysfs_create_files()
170 sysfs_remove_files(struct kobject *kobj, const struct attribute * const *attrs) in sysfs_remove_files() argument
175 sysfs_remove_file(kobj, attrs[i]); in sysfs_remove_files()
179 sysfs_create_group(struct kobject *kobj, const struct attribute_group *grp) in sysfs_create_group() argument
186 oidp = SYSCTL_ADD_NODE(NULL, SYSCTL_CHILDREN(kobj->oidp), in sysfs_create_group()
189 oidp = kobj->oidp; in sysfs_create_group()
193 kobj, (uintptr_t)*attr, sysctl_handle_attr, "A", ""); in sysfs_create_group()
200 sysfs_remove_group(struct kobject *kobj, const struct attribute_group *grp) in sysfs_remove_group() argument
203 if (kobj->oidp) in sysfs_remove_group()
204 sysctl_remove_name(kobj->oidp, grp->name, 1, 1); in sysfs_remove_group()
208 sysfs_create_groups(struct kobject *kobj, const struct attribute_group **grps) in sysfs_create_groups() argument
214 error = sysfs_create_group(kobj, grps[i]); in sysfs_create_groups()
216 sysfs_remove_group(kobj, grps[i]); in sysfs_create_groups()
222 sysfs_merge_group(struct kobject *kobj, const struct attribute_group *grp) in sysfs_merge_group() argument
226 return (sysfs_create_group(kobj, grp)); in sysfs_merge_group()
230 sysfs_unmerge_group(struct kobject *kobj, const struct attribute_group *grp) in sysfs_unmerge_group() argument
235 SLIST_FOREACH(oidp, SYSCTL_CHILDREN(kobj->oidp), oid_link) { in sysfs_unmerge_group()
245 sysfs_create_dir(struct kobject *kobj) in sysfs_create_dir() argument
249 oid = SYSCTL_ADD_NODE(NULL, SYSCTL_CHILDREN(kobj->parent->oidp), in sysfs_create_dir()
250 OID_AUTO, kobj->name, CTLFLAG_RD|CTLFLAG_MPSAFE, NULL, kobj->name); in sysfs_create_dir()
254 kobj->oidp = oid; in sysfs_create_dir()
260 sysfs_remove_dir(struct kobject *kobj) in sysfs_remove_dir() argument
263 if (kobj->oidp == NULL) in sysfs_remove_dir()
265 sysctl_remove_oid(kobj->oidp, 1, 1); in sysfs_remove_dir()