framebuffer-关于frambuffer的注册,主设备号和从设备号的关系

问题描述

关于frambuffer的注册,主设备号和从设备号的关系
    linux内核的fbmem.c中注册了一个fb的字符设备,在平台代码(MTK或者高通)中会注册具体的framebuffer设备(两个设备的主设备号相同)。具体注册的设备(fb0,fb1...)的访问全部都是使用fb的file_operations接口。关于字符设备,linux里面的机制是什么?linux如何实现多个字符设备使用统一的file_operations接口的?

解决方案

相同类型的设备的主设备号相同,次设备不同,file_operations通过匹配次设备号决定调用哪一个设备

解决方案二:

linux主设备号和从设备号
linux驱动开发 主设备号与次设备号
主设备号与次设备号概念

解决方案三:

看看源码把,注册的时候 会放到一个数组中,open的时候 根据次设备号从数组中取出来。

时间: 2024-09-30 17:21:39

framebuffer-关于frambuffer的注册,主设备号和从设备号的关系的相关文章

linux驱动开发--字符设备:静态分配设备号

字符设备(char device)         采用字节流方式访问的设备称为字符设备,通常智能采用顺序访问方式,也有极少数可以前后移动访问指针的设备(如:帧捕捉卡等设备).系统标准字符设备,例如:字符中断.串口等设备.常见待开发设备驱动的字符设备,例如:触摸屏.键盘.视频捕捉设备.音频设备等. 设备号 主设备号     用于标识设备类型,内核代码根据该号码对应设备文件和对应的设备驱动程序 次设备号     用于标识通类型的不同设备个体,驱动程序根据该号码辨别具体操作的是哪个设备个体. 设备号

设备与驱动的关系以及设备号、设备文件

Linux设备分类Linux下的设备通常分为三类,字符设备,块设备和网络设备. 字符设备 一个字符设备是一种字节流设备,对设备的存取只能按顺序按字节的存取而不能随机访问,字符设备没有请求缓冲区,所有的访问请求都是按顺序执行的.Linux下的大多设备都是字符设备.应用程序是通过字符设备节点来访问字符设备的.设备节点一般都由mknod命令都创建在/dev目录下,下面的例子显示了串口设备的设备节点.字符设备文件的第一个标志是前面的"c"标志. root#ls -l /dev/ttyS[0-3

Linux中的设备文件与设备号

设备文件与设备号   在Linux下,一切皆文件,设备也不例外,为了管理这些设备,系统为它们各自都编了号,而每个设备号又分为主设备号和次设备号.主设备号用来区分不同类型的设备,而次设备号用来区分同一类型内的多个设备(及其设备分区).一个Linux系统,当前所有注册设备的主设备号可以通过/proc接口查看: [root@localhost lenky]# cat /proc/devices Character devices: 1 mem 4 /dev/vc/0 4 tty 4 ttyS 5 /d

linux设备号详解

[原文] http://blog.csdn.net/zjjyliuweijie/article/details/7001383 linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取).块设备(有缓冲且可以随机存取).每个字符设备和块设备都必须有主.次设备号,主设备号相同的设 备是同类设备(使用同一个驱动程序).这些设备中,有些设备是对实际存在的物理硬件的抽象,而有些设备则是内核自身提供的功能(不依赖于特定的物理硬件,又称为"虚拟设备").每个设备在 /dev 目录下都有一个对

linux中的设备名称和设备号

看赵炯博士的<linux 0.11 源代码注释>已经两三周了,从今天起开始将一些个人总结和感悟分小标题写出来,聊作记忆以供后来查看.在linux0.11源码的 /linux/boot/bootsect.s中,有一个标号定义ROOT_DEV ! ROOT_DEV: 0x000 - same type of floppy as boot.! 0x301 - first partition on first drive etcROOT_DEV = 0x306 这里,ROOT_DEV是系统指定的根文件

linux驱动开发--字符设备:动态分配设备号

设备号的动态分配 int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count, const char *name);dev:保存分配到的设备号baseminor:希望分配的起始次设备号count:需要分配的设备号数目name:设备名称(出现在/proc/devices)         返回:成功返回0, 失败返回负值 请求内核动态分配count个设备号,且次设备号从baseminor开始 /** *Copyrig

asp在SQL SER2k中新建帐号和给帐号权限的实现(转)

asp在SQL SER2k中新建帐号和给帐号权限的实现 发布于:2002-5-12 ' 以下为在asp中增加一个sql server2000用户函数,并为建立一个数据库,给他dbo的权限 ' ****************注意:sql server的验证方式不要选仅为windows方式, ' **************** 允许远程sql server连接 ' ****************该函数已通过测试**************************** ' 有什么问题欢迎和我交流

linux驱动-linux字符设备驱动求助:设备号无法释放

问题描述 linux字符设备驱动求助:设备号无法释放 我在驱动中,资源释放时调用了unregister_chrdev_region函数,为什么用rmmod卸载驱动模块之后,/proc/devices里边仍能够显示我的驱动设备啊? lsmod中已经没有我写的驱动模块了. 是因为设备号没能正确释放么? 解决方案 当应用程序打开设备节点时,内核调用相应驱动程序的open()函数.可以在shell中执行以下代码来触发cmos_open()的执行: bash> cat /dev/cmos/0 当应用程序关

蜗牛移动恢复虚拟运营商号卡测试放号

5月28日消息,根据蜗牛移动的公告,5月28日零点,蜗牛移动999免卡正式测试放号,用户登录蜗牛移动官网(www.snail.com)即可照常选号,申请参与友好体验.蜗牛移动是最早宣布预约放号的联通虚拟运营商合作伙伴,但于5月21日被联通叫停,联通给出的理由是,联通与虚拟运营商合作伙伴签署过协议,虚拟运营商放号需要与联通双方进行书面确认,而蜗牛移动此次预约放号没有与联通进行书面确认.从蜗牛移动官网同时发布的<999免卡正式测试放号公告>中,可以看到本次测试放号,免卡预订价格依然为699元,但不