MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > linux / 正文

linux驱动开发-10.字符驱动 自动创建设备文件api

2024-11-26 15:13 huorong linux 3 ℃ 0 评论

背景:

前文使用mknod手动创建设备文件,开发过程中,严重影响效率,因此本文介绍如何利用代码自动创建设备文件,使其在insmod命令执行时自动创建生成


所需头文件:


#include "linux/device.h"	


1. 创建设备类

//设备类名对应linux文件目录(/sys/class)下的子目录名
struct class *class_create(struct module *owner, const char *name)
  • 参数:

owner:THIS_MODULE (模块所有者)

name:设备类名

  • 返回:

设备类指针

2.创建设备文件

struct device *device_create(struct class *cls, struct device *parent,dev_t devt, void *drvdata, const char *fmt, ...)
  • 参数:

cls:device_create创建的设备类指针

parent:父设备指针,没有填-NULL

devt:设备号drvdata:需要传递的数据,不用填-NULL

...:一个或多个设备名,字符串格式

  • 返回:

设备文件指针

3. 销毁设备文件

void device_destroy(struct class *cls, dev_t devt);
  • 参数:

cls:device_create创建的设备类指针

devt:设备号

  • 返回:

4. 销毁设备类

void class_destroy(struct class *cls);
  • 参数:

cls:device_create创建的设备类指针

  • 返回:

Tags:linux设备驱动开发

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言