加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux设备驱动程序注册过程

发布时间:2020-12-13 22:51:40 所属栏目:Linux 来源:网络整理
导读:我是一个 Linux新手,试图了解 Linux设备模型.我一直在经历Linux 3.1.6代码库,特别是驱动程序部分并发现了 一些驱动程序正在使用(例如i2c-bus设备:linux-3.1.6 / drivers / i2c / i2c-dev.c)* register_chrdev()*和 少数其他人(例如pci总线:linux-3.1.6 / d
我是一个 Linux新手,试图了解 Linux设备模型.我一直在经历Linux 3.1.6代码库,特别是驱动程序部分并发现了

>一些驱动程序正在使用(例如i2c-bus设备:linux-3.1.6 / drivers / i2c / i2c-dev.c)* register_chrdev()*和
>少数其他人(例如pci总线:linux-3.1.6 / drivers / pci / bus.c)正在使用* device_register()*.

我的问题是何时使用register_chrdev(是的,我知道它用于字符设备,但为什么不使用device_register)和device_register?

这取决于驱动程序开发人员希望将其设备/驱动程序列入其中的位置,例如devfs vs sysfs?或者是暴露在用户空间的界面来访问设备?

解决方法

一个函数注册一个字符设备关联(连接major:minors到你的函数),另一个函数只创建一个抽象设备对象(仅限),可以这么说.这两者是互补的.设备对象用于生成事件,以便udev可以,如果还注册了cdev关联,则在/ dev中创建节点. (例如,与drivers / char / misc.c相比.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读