Lines Matching refs:cls

129 int class_create_file_ns(const struct class *cls, const struct class_attribute *attr,
132 struct subsys_private *sp = class_to_subsys(cls);
145 void class_remove_file_ns(const struct class *cls, const struct class_attribute *attr,
148 struct subsys_private *sp = class_to_subsys(cls);
178 int class_register(const struct class *cls)
184 pr_debug("device class '%s': registering\n", cls->name);
195 error = kobject_set_name(&cp->subsys.kobj, "%s", cls->name);
203 cp->class = cls;
209 error = sysfs_create_groups(&cp->subsys.kobj, cls->class_groups);
224 void class_unregister(const struct class *cls)
226 struct subsys_private *sp = class_to_subsys(cls);
231 pr_debug("device class '%s': unregistering\n", cls->name);
233 sysfs_remove_groups(&sp->subsys.kobj, cls->class_groups);
239 static void class_create_release(const struct class *cls)
241 pr_debug("%s called for %s\n", __func__, cls->name);
242 kfree(cls);
259 struct class *cls;
262 cls = kzalloc(sizeof(*cls), GFP_KERNEL);
263 if (!cls) {
268 cls->name = name;
269 cls->class_release = class_create_release;
271 retval = class_register(cls);
275 return cls;
278 kfree(cls);
285 * @cls: pointer to the struct class that is to be destroyed
290 void class_destroy(const struct class *cls)
292 if (IS_ERR_OR_NULL(cls))
295 class_unregister(cls);
559 struct class_compat *cls;
561 cls = kmalloc(sizeof(struct class_compat), GFP_KERNEL);
562 if (!cls)
564 cls->kobj = kobject_create_and_add(name, &class_kset->kobj);
565 if (!cls->kobj) {
566 kfree(cls);
569 return cls;
575 * @cls: the class to unregister
577 void class_compat_unregister(struct class_compat *cls)
579 kobject_put(cls->kobj);
580 kfree(cls);
587 * @cls: the compatibility class
591 int class_compat_create_link(struct class_compat *cls, struct device *dev,
596 error = sysfs_create_link(cls->kobj, &dev->kobj, dev_name(dev));
609 sysfs_remove_link(cls->kobj, dev_name(dev));
619 * @cls: the compatibility class
624 void class_compat_remove_link(struct class_compat *cls, struct device *dev,
629 sysfs_remove_link(cls->kobj, dev_name(dev));