看2.6下的设备注册我的大脑都快成浆糊了

lester98 2008-05-19 05:28:09
以rtc驱动的rtc_register_device这个bus的注册函数来说
里面先device_register(&rtc->dev);
然后接着在rtc_dev_add_device里面调用cdev_add()

一个字符设备注册非得device_register和cdev_add两个函数才行吗?前者操作的是struct device,后者操作的是struct cdev,后者包括fops,那前者到底有什么用呢?
...全文
130 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
againyuan 2008-11-04
  • 打赏
  • 举报
回复
是呀,这个问题有高手给解答一下吗

按理说,不是device_register之后直接driver_register吗?
为什么device_register之后又进行了cdev_add字符设备的注册,然后driver_register,是不是重复了?
sherlock_lai 2008-05-19
  • 打赏
  • 举报
回复
可以去看看源码
xianfengdesign 2008-05-19
  • 打赏
  • 举报
回复
2.6提供的新方法,看起来是有点晕。 不过如果你的驱动不用支持很多从设备, register_chrdev()目前照样可以用。

其实2.6的register_chrdev(),就是封装了那些函数

4,436

社区成员

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

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