1.在内核中注册设备:
在内核中使用相应API。
2.获取设备信息
3.创建设备一个类:
申请一个struct class类并初始化,此时会向用户层提供一个目录信息,存放在/sys/class目录下,
类名为申请的名字。
4.创建一个设备对象:
申请一个struct device对象并且初始化,此时会向用户层提供一个存放设备节点信息的文件。它存放在/sys/class/类/目录下,
以上完成后,内核会向用户层发起以一个hotplug enevt,此时用户层的hotplug进程接收到hotplug enevt后会向udev进程发起通知,然后udev进程根据/sys/class/类/设备节点信息文件,去创建设备节点。
以上是自动创建设备节点udev的流程。