写字符设备驱动程序的时候,可以通过mdev机制帮我们自动创建设备节点;
一、涉及到的函数如下:
1、自动创建/注销类
class_create(struct module * owner, const char * name);
class_destroy(struct class * cls);
2、自动创建/注销类对应的设备
class_device_create(struct class * cls, struct class_device * parent, dev_t devt, struct device * device, const char * fmt,...);
class_device_destroy(struct class * cls, dev_t devt);
二、举例:
比如我们自动创建了一个字符设备节点</dev/foo_device>主设备号为111,次设备号为0;
对应的类名为</dev/foo_class>,则在/sys/class/foo_class目录下就会有”dev”, “subsystem”, “uevent”这几个文件,”dev”文件的内容就是”111:0”
为了支持mdev这种热插拔的功能,需要在启动脚本中添加”echo /sbin/mdev > /proc/sys/kernel/hotplug”内容。