int class_interface_register(struct class_interface *class_intf)
{
struct class *parent;
struct class_dev_iter iter;
struct device *dev;
if (!class_intf || !class_intf->class) return -ENODEV;
parent = class_get(class_intf->class); if (!parent) return -EINVAL;
mutex_lock(&parent->p->mutex); list_add_tail(&class_intf->node, &parent->p->interfaces); if (class_intf->add_dev) { class_dev_iter_init(&iter, parent, NULL, NULL); while ((dev = class_dev_iter_next(&iter))) class_intf->add_dev(dev, class_intf); class_dev_iter_exit(&iter); } mutex_unlock(&parent->p->mutex);
return 0; }
本文介绍了一个用于注册类接口的方法intclass_interface_register。该方法通过传入的类接口指针完成注册过程,并在必要时调用回调函数处理设备迭代。文章详细展示了如何在内核级实现接口注册逻辑。
2764

被折叠的 条评论
为什么被折叠?



