class_create和device_create 会在虚拟文件系统生成信息。
然后 mdev和udev 根据 信息创建设备节点
转载:class_create和device_create与mdev和udev关系_aningxiaoxixi的博客-CSDN博客
===================================================================
在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备调用 class_device_create创建对应的设备。
早期写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点,当然前提条件是用户空间移植了udev。
内核中定义了struct class结构体,一个struct class 结构体类型变量对应一个类,内核同时提供了class_create()函数,可以用它来创建一个类,这个类存放于sysfs下面。
创建好这个类之后,再调用device_create()函数来在/dev目录下创建相应的设备信息。
转载:https://blog.csdn.net/lsky380/article/details/90574578