002_linux驱动之_register_chrdev注册字符设备
2024-09-05 04:42:41
(一)解析:register_chrdev函数和unregister_chrdev函数
(二)register_chrdev函数原型
int register_chrdev(unsigned int major, const char *name,const struct file_operations *fops)
* register_chrdev() -为字符设备注册一个主号码。
* @major:用于动态分配的主要设备号或0
* @name:这一系列设备的名称
* @fops:与此设备相关联的文件操作
*
*如果@major == 0,这个函数将动态分配一个main并返回它的号码。
*如果@major > 0,此函数将尝试使用给定的设备保留设备,主要数字,将返回零成功。
1. 从上面函数原型中我们可知使用register_chrdev函数我们需要设备号,名字,还有相关文件操作就行了
2. 由于能力有限,看不懂register_chrdev里面的程序,故不粘贴全部代码出来,先知道怎么用
3. 使用示例:
major = register_chrdev(0, "first_drv", &first_drv_fops);
解析:第一个参数0则为系统自动分配设备号,并返回,使用major 变量接收
第二个参数设置这个系列设备的名称为first_drv
第三个参数first_drv_fops在003_linux驱动之_file_operations函数
(三)unregister_chrdev函数原型
int unregister_chrdev(unsigned int major, const char *name)
1. 同第二点可知,卸载一个字符设备只需要设备号和名自就行了
2. 使用示例:
unregister_chrdev(major, "first_drv");
(四)注:
1. register_chrdev函数当然是在insmod时候应该调用了,看001_linux驱动之_驱动的加载和卸载
2. unregister_chrdev函数当然是在rmmod时候调用了。
最新文章
- JavaACOFramework的各个类介绍(part1 : Ant类)
- 常用excel技巧
- [转载] Google大数据引擎Dremel剖析(1)
- Debug with jdb
- 使用C# 实现文件锁
- 文件I/O(不带缓冲)之write函数
- 【C#4.0图解教程】笔记(第9章~第18章)
- c#调用api(FindFirstFile,FindNextFile)高效遍历目录文件【转载】
- HTML5 WebAudioAPI-实例(二)
- android SimpleCursorAdapter的使用
- 拉电流(source current)与灌电流(sink current)
- Hadoop权威指南: InputFormat,RecordReader,OutputFormat和RecordWriter
- js 实现图片压缩并转换成base64(data:image/jpeg;base64)格式
- 情景linux--如何优雅地退出telnet
- Android项目打包遇com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details
- java中的线程中断
- SQL Server 全文索引介绍(转载)
- java StringTokenizer
- js正则匹配以某字符串开始字符串
- LibreOJ #6007. 「网络流 24 题」方格取数 最小割 最大点权独立集 最大流
热门文章
- python学习-44 程序的解耦 (不是特别懂的,回头在复习)
- SysTick系统定时器(功能框图和优先级配置)
- 【搜索+set去重】Balance Scale
- 从零开始搭建自己的.NET Core Api框架-1目录
- 基于【 centos7】二 || 系统时间与网络时间同步
- Julia 学习
- docker系列五之数据卷(volumn)
- javascript--BOM(browser object model)五大对象
- 【appium】appium中的元素定位和基本操作
- CodeForces 822C Hacker, pack your bags!