Lines Matching +full:store +full:- +full:release
1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2004-2007 Greg Kroah-Hartman <greg@kroah.com>
41 ssize_t (*store)(struct foo_obj *foo, const struct foo_attribute *attr, member
63 if (!attribute->show) in foo_attr_show()
64 return -EIO; in foo_attr_show()
66 return attribute->show(foo, attribute, buf); in foo_attr_show()
71 * sysfs "store" is requested (when a value is written to a file.)
83 if (!attribute->store) in foo_attr_store()
84 return -EIO; in foo_attr_store()
86 return attribute->store(foo, attribute, buf, len); in foo_attr_store()
92 .store = foo_attr_store,
96 * The release function for our object. This is REQUIRED by the kernel to
99 * NEVER try to get away with just a "blank" release function to try to be
116 return sysfs_emit(buf, "%d\n", foo_obj->foo); in foo_show()
124 ret = kstrtoint(buf, 10, &foo_obj->foo); in foo_store()
131 /* Sysfs attributes cannot be world-writable. */
144 if (strcmp(attr->attr.name, "baz") == 0) in b_show()
145 var = foo_obj->baz; in b_show()
147 var = foo_obj->bar; in b_show()
160 if (strcmp(attr->attr.name, "baz") == 0) in b_store()
161 foo_obj->baz = var; in b_store()
163 foo_obj->bar = var; in b_store()
188 if (strcmp(kobject_name(kobj), attr->name) == 0) in foo_default_attrs_is_visible()
190 return attr->mode; in foo_default_attrs_is_visible()
201 * release function, and the set of default attributes we want created
206 .release = foo_release,
229 foo->kobj.kset = example_kset; in create_foo_obj()
237 retval = kobject_init_and_add(&foo->kobj, &foo_ktype, NULL, "%s", name); in create_foo_obj()
239 kobject_put(&foo->kobj); in create_foo_obj()
247 kobject_uevent(&foo->kobj, KOBJ_ADD); in create_foo_obj()
254 kobject_put(&foo->kobj); in destroy_foo_obj()
265 return -ENOMEM; in example_init()
290 return -EINVAL; in example_init()
305 MODULE_AUTHOR("Greg Kroah-Hartman <greg@kroah.com>");