网站首页 > linux / 正文
背景:
前文使用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设备驱动开发
猜你喜欢
- 2024-11-26 Intel开发人员用AMD代码优化Linux驱动:部分游戏帧率提升10%
- 2024-11-26 Linux 网络设备驱动开发《网络分层结构》
- 2024-11-26 「正点原子Linux连载」第五十五章设备树下的platform驱动编写
- 2024-11-26 linux驱动开发-1.概念了解
- 2024-11-26 基于Linux的tty架构及UART驱动详解
- 2024-11-26 Linux中的块设备驱动
- 2024-11-26 linux驱动开发-2.驱动框架
- 2024-11-26 linux 内核之驱动开发需要掌握的知识
- 2024-11-26 英伟达开源Linux图形驱动实测,性能媲美专有驱动
- 2024-11-26 从串口驱动到Linux驱动模型,想转Linux的必会