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()
186 if (cls->ns_type && !cls->namespace) { in class_register()
188 __func__, cls->name); in class_register()
191 if (!cls->ns_type && cls->namespace) { in class_register()
193 __func__, cls->name); in class_register()
206 error = kobject_set_name(&cp->subsys.kobj, "%s", cls->name); in class_register()
212 cp->class = cls; in class_register()
218 error = sysfs_create_groups(&cp->subsys.kobj, cls->class_groups); in class_register()
233 void class_unregister(const struct class *cls) in class_unregister() argument
235 struct subsys_private *sp = class_to_subsys(cls); in class_unregister()
240 pr_debug("device class '%s': unregistering\n", cls->name); in class_unregister()
242 sysfs_remove_groups(&sp->subsys.kobj, cls->class_groups); in class_unregister()
248 static void class_create_release(const struct class *cls) in class_create_release() argument
250 pr_debug("%s called for %s\n", __func__, cls->name); in class_create_release()
251 kfree(cls); in class_create_release()
268 struct class *cls; in class_create() local
271 cls = kzalloc(sizeof(*cls), GFP_KERNEL); in class_create()
272 if (!cls) { in class_create()
277 cls->name = name; in class_create()
278 cls->class_release = class_create_release; in class_create()
280 retval = class_register(cls); in class_create()
284 return cls; in class_create()
287 kfree(cls); in class_create()
299 void class_destroy(const struct class *cls) in class_destroy() argument
301 if (IS_ERR_OR_NULL(cls)) in class_destroy()
304 class_unregister(cls); in class_destroy()
567 struct class_compat *cls; in class_compat_register() local
569 cls = kmalloc(sizeof(struct class_compat), GFP_KERNEL); in class_compat_register()
570 if (!cls) in class_compat_register()
572 cls->kobj = kobject_create_and_add(name, &class_kset->kobj); in class_compat_register()
573 if (!cls->kobj) { in class_compat_register()
574 kfree(cls); in class_compat_register()
577 return cls; in class_compat_register()
585 void class_compat_unregister(struct class_compat *cls) in class_compat_unregister() argument
587 kobject_put(cls->kobj); in class_compat_unregister()
588 kfree(cls); in class_compat_unregister()
599 int class_compat_create_link(struct class_compat *cls, struct device *dev, in class_compat_create_link() argument
604 error = sysfs_create_link(cls->kobj, &dev->kobj, dev_name(dev)); in class_compat_create_link()
617 sysfs_remove_link(cls->kobj, dev_name(dev)); in class_compat_create_link()
632 void class_compat_remove_link(struct class_compat *cls, struct device *dev, in class_compat_remove_link() argument
637 sysfs_remove_link(cls->kobj, dev_name(dev)); in class_compat_remove_link()