一、是什么?
linux2.6引入动态设备管理,用udev作为设备管理器,udev根据sysfs系统提供的设备信息来实现对/dev目录下设备节点的动态管理,包含设备节点的创建和删除.
若要编写一个能用udev管理的设备驱动,则需要在驱动代码中调用class_create()来为设备创建一个class类,再调用device_create()为每个设备创建对应的设备.
class_create()函数用于在sysfs的class目录下创建一个类.
#define class_create(owner,name)\
{
\
static struct lock_class_key_key;\
__class_create(owner,name,&__key);\
}
销毁class目录下创建的类
void class_destroy(struct class*cls);
extern struct device*device_create(struct class*cls,
struct device*parent,dev_t dev_t,void*drvdata,const char*fmt,...);
销毁在sysfs中创建的设备节点和相关文件
void device_destroy(struct class*cls,dev_t devt);
class_create(THIS_MODULE,"char_cdev_class");
device_create(char_cdev_class,NULL,devno,NULL,"char_cdev");
#