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中的创建方法是不同的吗?
...全文
149 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

4,465

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧