Linux字符设备驱动程序的框架(新写法)

news/2024/7/5 4:07:17

这是老版本内核的的Linux驱动注册函数写法:

major = register_chrdev(0, "hello", &hello_fops); /* (major,  0), (major, 1), ..., (major, 255)都对应hello_fops */


新版本内核Linux驱动注册函数写法
#define MAJOR(devid) ((unsigned int) ((devid) >> 20))  /* 主设备号 */

#define MINOR(devid) ((unsigned int) ((devid) & MINORMASK))   /* 次设备号,这个定义在内核头文件中 */


static struct cdev hello_cdev;   /* 定义cdev类型的一个结构体变量 */



dev_t  devid;                                           / * 存放主设备号和次设备号 主设备号为高12位,次设备号为低20位 */
MINOR(devid)                         /*取出次设备号*/
MAJOR(devid)                      /*取出主设备号*/
MKDEV(major, 0)                  /*把主设备号和次设备号组合成一个dev_t类型的设备号,这里取得次设备号是0*/

下面给出代码就一目了然了:








http://lihuaxi.xjx100.cn/news/244320.html

相关文章

【206】Firefox 扩展收集

Stylish NoSquint转载于:https://www.cnblogs.com/alex-bn-lee/p/5586159.html

java中锁的介绍及运用

个人免费资源分享网站:http://xiaocaoshare.com/ 1.悲观锁和乐观锁 对于同一个数据的并发操作,悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。Java中&…

12 Java面向对象之多态

JavaSE 基础之十二12 Java面向对象之多态 ① 多态的概念及分类 多态的概念:对象的多种表现形式和能力多态的分类  1. 静态多态:在编译期间,程序就能决定调用哪个方法。方法的重载就表现出了静态多态。  2. 动态多态:在程序运行…

蓝懿教育九月二十七日记录

将VIew移动做成动画效果 这种动画效果没有中间的位移可以添加动画的View属性center,frame,alpha,transform , backgroundColor//继续做消失的动画[UIView animateWithDuration:1 animations:^{iv.alpha 0;} completion:^(BOOL finished) …

array_multisort

function sorting_by_sale($arrUsers, $direction"desc"){if(empty($arrUsers)){return $arrUsers;}$direArr array("desc">SORT_DESC, asc>"SORT_ASC");$sort array( direction > $direArr[$direction], //排序顺序标志 SORT_DESC …

IDEA添加maven并添加阿里镜像

1.打开IDEA&#xff0c;file->settings 然后设置maven的jdk&#xff0c;不然使用默认的可能会导致有些jar下载有问题 这里选择的是1.8,因为我安装的是jdk1.8环境 在maven的conf下的settings.xml添加如下代码&#xff1a; <mirror> <id>alimaven</id&…

05-04-查看补丁更新报告

《系统工程师实战培训》 -05-部署补丁管理服务器 -04-查看补丁更新报告 作者&#xff1a;学 无 止 境QQ交流群&#xff1a;454544014///安装报表工具&#xff08;在100-Admin01上面安装如下工具&#xff0c;方便查看WSUS更新补丁报告!&#xff09;Microsoft System CLR Types f…

linux sar 命令详解

sar&#xff08;System Activity Reporter系统活动情况报告&#xff09;是目前 Linux 上最为全面的系统性能分析工具之一&#xff0c;可以从多方面对系统的活动进行报告&#xff0c;包括&#xff1a;文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程…