Lines Matching refs:cls
129 int class_create_file_ns(const struct class *cls, const struct class_attribute *attr, in class_create_file_ns() argument
132 struct subsys_private *sp = class_to_subsys(cls); in class_create_file_ns()
145 void class_remove_file_ns(const struct class *cls, const struct class_attribute *attr, in class_remove_file_ns() argument
148 struct subsys_private *sp = class_to_subsys(cls); in class_remove_file_ns()
178 int class_register(const struct class *cls) in class_register() argument
184 pr_debug("device class '%s': registering\n", cls->name); in class_register()
195 error = kobject_set_name(&cp->subsys.kobj, "%s", cls->name); in class_register()
203 cp->class = cls; in class_register()
209 error = sysfs_create_groups(&cp->subsys.kobj, cls->class_groups); in class_register()
223 void class_unregister(const struct class *cls) in class_unregister() argument
225 struct subsys_private *sp = class_to_subsys(cls); in class_unregister()
230 pr_debug("device class '%s': unregistering\n", cls->name); in class_unregister()
232 sysfs_remove_groups(&sp->subsys.kobj, cls->class_groups); in class_unregister()
238 static void class_create_release(const struct class *cls) in class_create_release() argument
240 pr_debug("%s called for %s\n", __func__, cls->name); in class_create_release()
241 kfree(cls); in class_create_release()
258 struct class *cls; in class_create() local
261 cls = kzalloc(sizeof(*cls), GFP_KERNEL); in class_create()
262 if (!cls) { in class_create()
267 cls->name = name; in class_create()
268 cls->class_release = class_create_release; in class_create()
270 retval = class_register(cls); in class_create()
274 return cls; in class_create()
277 kfree(cls); in class_create()
289 void class_destroy(const struct class *cls) in class_destroy() argument
291 if (IS_ERR_OR_NULL(cls)) in class_destroy()
294 class_unregister(cls); in class_destroy()
558 struct class_compat *cls; in class_compat_register() local
560 cls = kmalloc(sizeof(struct class_compat), GFP_KERNEL); in class_compat_register()
561 if (!cls) in class_compat_register()
563 cls->kobj = kobject_create_and_add(name, &class_kset->kobj); in class_compat_register()
564 if (!cls->kobj) { in class_compat_register()
565 kfree(cls); in class_compat_register()
568 return cls; in class_compat_register()
576 void class_compat_unregister(struct class_compat *cls) in class_compat_unregister() argument
578 kobject_put(cls->kobj); in class_compat_unregister()
579 kfree(cls); in class_compat_unregister()
590 int class_compat_create_link(struct class_compat *cls, struct device *dev, in class_compat_create_link() argument
595 error = sysfs_create_link(cls->kobj, &dev->kobj, dev_name(dev)); in class_compat_create_link()
608 sysfs_remove_link(cls->kobj, dev_name(dev)); in class_compat_create_link()
623 void class_compat_remove_link(struct class_compat *cls, struct device *dev, in class_compat_remove_link() argument
628 sysfs_remove_link(cls->kobj, dev_name(dev)); in class_compat_remove_link()