Lines Matching refs:kn
25 static const struct sysfs_ops *sysfs_file_ops(struct kernfs_node *kn) in sysfs_file_ops() argument
27 struct kobject *kobj = kn->parent->priv; in sysfs_file_ops()
29 if (kn->flags & KERNFS_LOCKDEP) in sysfs_file_ops()
30 lockdep_assert_held(kn); in sysfs_file_ops()
42 struct kobject *kobj = of->kn->parent->priv; in sysfs_kf_seq_show()
43 const struct sysfs_ops *ops = sysfs_file_ops(of->kn); in sysfs_kf_seq_show()
60 count = ops->show(kobj, of->kn->priv, buf); in sysfs_kf_seq_show()
82 struct bin_attribute *battr = of->kn->priv; in sysfs_kf_bin_read()
83 struct kobject *kobj = of->kn->parent->priv; in sysfs_kf_bin_read()
106 const struct sysfs_ops *ops = sysfs_file_ops(of->kn); in sysfs_kf_read()
107 struct kobject *kobj = of->kn->parent->priv; in sysfs_kf_read()
116 len = ops->show(kobj, of->kn->priv, buf); in sysfs_kf_read()
132 const struct sysfs_ops *ops = sysfs_file_ops(of->kn); in sysfs_kf_write()
133 struct kobject *kobj = of->kn->parent->priv; in sysfs_kf_write()
138 return ops->store(kobj, of->kn->priv, buf, count); in sysfs_kf_write()
145 struct bin_attribute *battr = of->kn->priv; in sysfs_kf_bin_write()
146 struct kobject *kobj = of->kn->parent->priv; in sysfs_kf_bin_write()
166 struct bin_attribute *battr = of->kn->priv; in sysfs_kf_bin_mmap()
167 struct kobject *kobj = of->kn->parent->priv; in sysfs_kf_bin_mmap()
174 struct kernfs_node *kn = kobj->sd, *tmp; in sysfs_notify() local
176 if (kn && dir) in sysfs_notify()
177 kn = kernfs_find_and_get(kn, dir); in sysfs_notify()
179 kernfs_get(kn); in sysfs_notify()
181 if (kn && attr) { in sysfs_notify()
182 tmp = kernfs_find_and_get(kn, attr); in sysfs_notify()
183 kernfs_put(kn); in sysfs_notify()
184 kn = tmp; in sysfs_notify()
187 if (kn) { in sysfs_notify()
188 kernfs_notify(kn); in sysfs_notify()
189 kernfs_put(kn); in sysfs_notify()
251 struct kernfs_node *kn; in sysfs_add_file_mode_ns() local
305 kn = __kernfs_create_file(parent, attr->name, mode & 0777, uid, gid, in sysfs_add_file_mode_ns()
307 if (IS_ERR(kn)) { in sysfs_add_file_mode_ns()
308 if (PTR_ERR(kn) == -EEXIST) in sysfs_add_file_mode_ns()
310 return PTR_ERR(kn); in sysfs_add_file_mode_ns()
394 struct kernfs_node *kn; in sysfs_chmod_file() local
398 kn = kernfs_find_and_get(kobj->sd, attr->name); in sysfs_chmod_file()
399 if (!kn) in sysfs_chmod_file()
402 newattrs.ia_mode = (mode & S_IALLUGO) | (kn->mode & ~S_IALLUGO); in sysfs_chmod_file()
405 rc = kernfs_setattr(kn, &newattrs); in sysfs_chmod_file()
407 kernfs_put(kn); in sysfs_chmod_file()
425 struct kernfs_node *kn; in sysfs_break_active_protection() local
428 kn = kernfs_find_and_get(kobj->sd, attr->name); in sysfs_break_active_protection()
429 if (kn) in sysfs_break_active_protection()
430 kernfs_break_active_protection(kn); in sysfs_break_active_protection()
431 return kn; in sysfs_break_active_protection()
446 void sysfs_unbreak_active_protection(struct kernfs_node *kn) in sysfs_unbreak_active_protection() argument
448 struct kobject *kobj = kn->parent->priv; in sysfs_unbreak_active_protection()
450 kernfs_unbreak_active_protection(kn); in sysfs_unbreak_active_protection()
451 kernfs_put(kn); in sysfs_unbreak_active_protection()
483 struct kernfs_node *kn; in sysfs_remove_file_self() local
486 kn = kernfs_find_and_get(parent, attr->name); in sysfs_remove_file_self()
487 if (WARN_ON_ONCE(!kn)) in sysfs_remove_file_self()
490 ret = kernfs_remove_self(kn); in sysfs_remove_file_self()
492 kernfs_put(kn); in sysfs_remove_file_self()