Linux驱动模型

gangjian68 2018-06-26 10:00:03
Hi,各位大兄弟你们好,本人在看Linux 4.9驱动模型的时候遇到以下疑问,麻烦不吝解答。
1.驱动模型中,主要的是两个结果:(a)struct device代表设备 (b)struct device_driver代表设备驱动 它们两被挂在bus下面。我看内核驱动基本上使用platform_device_register和platform_driver_register即可完成驱动的注册。/dev目录下的设备文件可以通过udev完成创建。那么想请教一下,/dev目录下的设备文件主次设备是如何确定的?访问设备文件的时候,是如何与file operation连接起来的?没有udev的话,/dev下面还有设备文件吗?

2.我看到有些驱动使用register_chrdev,去注册设备,前提是需要申请主次设备号。请问这和问题1中的创建方法是不同的吗?
...全文
102 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jklinux 2018-06-27
struct platform_device是从struct device扩展而来的, struct platform_driver是从struct device_driver扩展而来的.

驱动模型核心还是bus, device, driver

设备文件的主次设备号是由驱动代码里指定的.

register_chrdev是注册指定的设备号的主设备号, 这个设备号的一个次设备号,次设备号从0 -- 255。
回复
gangjian68 2018-06-27
参考以下
https://blog.csdn.net/yueqian_scut/article/details/47049021
回复
发帖
Linux_Kernel
创建于2007-08-27

4151

社区成员

Linux/Unix社区 内核源代码研究区
申请成为版主
帖子事件
创建了帖子
2018-06-26 10:00
社区公告
暂无公告