005_linux驱动之_class_device_create函数
(一)解析class_device_create函数
(二)当我们使用class_create创建一个类之后我们就可以使用class_device_create函数在这个类下面创建一个设备了,class_create创建查看004_linux驱动之_class_create创建一个设备类
(三)class_device_create函数原型
struct class_device *class_device_create(struct class *cls,struct class_device *parent,dev_t devt,struct device *device,const char *fmt, ...)
1. 注解:
/ * *
* class_device_create——创建一个类设备并将其注册到sysfs
* @cls:指向这个设备应该注册到的struct类的指针。
* @parent:指向这个新设备的父结构class_device的指针。
* @devt:添加char设备的dev_t。
* @device:指向与这个类设备相关联的struct设备的指针。
* @fmt:类设备名称的字符串
*
这个函数可以被char设备类使用。一个结构体
* class_device将在sysfs中创建,注册到指定的
*类。
*将创建一个“dev”文件,显示设备的dev_t,如果
* dev_t不是0,0。
*如果一个指向父struct class_device的指针被传入,则为new
*创建的struct class_device将是sysfs中该设备的子设备。
返回指向struct class_device的指针
*电话。可以创建任何可能需要的进一步sysfs文件
*使用这个指针。
*
*注意:传递给这个函数的struct类之前必须有
通过调用class_create()创建。
* /
使用示例:
![](https://img2018.cnblogs.com/blog/1496483/201906/1496483-20190612172510418-1435338499.png)
(三)当我们需要删除设备时候就需要class_device_unregister这个函数
![](https://img2018.cnblogs.com/blog/1496483/201906/1496483-20190612172537249-1668758568.png)
![](https://img2018.cnblogs.com/common/1496483/201912/1496483-20191225110509022-455121514.png)