写驱动程序,在开发板上加载,测试时总是需要利用 mknod 创建设备文件节点,要是采用的自动分配主设备号的话,还得利用 cat /proc/devices 去查找内核分配给我们的主设备号,很麻烦。所以就有了用 mdev 自动创建设备文件节点。但是,mdev 必须读取 /sys/class 下的信息才能自动创建设备文件节点(当然了,是当我们加载驱动模块,产生热插拔时调用)。要创建 mdev所需的系统信息,就得利用 两个结构体 struct class 和 struct class_device ,还有四个函数:class_create class_device_create class_destroy class_device_unregister .
但是,编译时,报错,implicit declaration of function "class_device_create"
implicit declaration of function "class_device_unregister"
原因:
class_device_create 和 class_device_unregister 是最期版本的API,现在已经改成device_create 和 device_unregister