为什么说fb_info->node 是设备的次设备号
来源:互联网 发布:jdk windows x64 下载 编辑:程序博客网 时间:2024/05/16 16:05
struct fb_info{ int node; //设备的次设备号 int flags; struct mutex lock; struct mutex mm_lock; struct fb_var_screeninfo var; //可变参数 struct fb_fix_screeninfo fix; //固定参数 ......};成员 : int node; 设备的次设备号 次设备号由系统自动分配,递增的。实际上就是registered_fb[]中第一个空缺项的索引值。 #define FB_MAX 32 struct fb_info *registered_fb[FB_MAX] 所以,最大不会超过31 /* 向核心层注册一个framebuffer设备。 fb_info 每一个帧缓冲设备都对应一个fb_info */ int register_framebuffer(struct fb_info *fb_info) { int i; /* 这个i,就是次设备号, 下面的代码会将registered_fb[]中第一个空缺项的索引值 赋值给这个i, 而这个索引值就是设备的次设备号 */ ... /** FB_MAX : 32 每注册一个framebuffer设备,num_registered_fb就递增一次。 */ if (num_registered_fb == FB_MAX) { return -ENXIO; } .... /** 递增 */ num_registered_fb++; /** 找到registered_fb[]中第一个空缺项 为把fb_info放进去做准备 struct fb_info *registered_fb[32]; /dev/fb0 /dev/fb1 ..... /dev/fb31。 */ for (i = 0 ; i < FB_MAX; i++) { if (!registered_fb[i]) { break; } } /* 【将次设备号赋值给node】 */ fb_info->node = i; .... /** 在类下创建设备。 在fbmem_init()中创建的类。 static int __init fbmem_init(void) { ... fb_class = class_create(THIS_MODULE, "graphics"); ... } 看这里的 MKDEV(FB_MAJOR, i) */ fb_info->dev = device_create(fb_class, fb_info->device,MKDEV(FB_MAJOR, i), NULL, "fb%d", i); if (IS_ERR(fb_info->dev)) { ... } ..... }
0 0
- 为什么说fb_info->node 是设备的次设备号
- 为什么说电路保护器件是电子产品或设备中不可缺少的组成部分?
- 字符设备次设备号
- 6410之次设备号的作用
- 为什么pvcreate用的是字符设备,而vgcreate用的是块设备?
- 混杂设备动态次设备号分析
- 混杂设备动态次设备号分析
- 混杂设备动态次设备号分析
- MISC 设备动态次设备号分析
- linux 如何得到设备文件的设备号(主设备号&次设备号)
- 光猫里显示的设备类型为什么是MSFT 5.0
- 主设备号、次设备号
- 主设备号、次设备号
- 主设备号、次设备号
- 主设备号、次设备号
- 【转】Linux的主设备号和次设备号
- Linux的设备管理,主设备号和次设备号
- Linux的主设备号和次设备号
- 三种方式获得手机屏幕的宽和高
- 日常使用 Git 的 19 个建议
- 排序法(整理)
- Android计时器TimerTask,Timer,Handler
- 基于Gabor滤波的纹理分割 Texture Segmentation Using Gabor Filters
- 为什么说fb_info->node 是设备的次设备号
- (转)onTouchEvent方法的使用
- 简单springmvc实现
- android中OrmLite数据库编程实例讲解
- 带有×的EditText
- Maven以及其Eclipse插件m2eclipse的安装
- FZU 2214 Knapsack problem
- C++最佳编程实践
- linux系统kill和启动tomcat