LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1177|回复: 1

linux内核为每个设备都提供了相关函数供驱动编写人员使用吗?

[复制链接]
发表于 2008-10-1 10:39:04 | 显示全部楼层 |阅读模式
小弟在看华清远见的《linux设备驱动开发详解》一书时,发现他的例子程序都写的很长,在其它的书上很简短的代码在这本书上都是很长的,原因好像是它把每类设备(如串口,II2C等)都用所谓的”XX设备驱动框架“包裹起来,并在其中引用linux内核中有关此类设备(如串口)的函数(如uart_add_one_port(),uart_register_driver()等等),而把程序写的臭长臭长的,而同样的设备驱动在别的书本中写的代码(如串口)却很短,只要操作几个寄存器使之能发送能接收就可以了。这里小弟想问各位哥哥,难道在写某个具体设备的驱动时,都要看linux内核中为其提供的数据结构(或函数)吗?还有就是:是不是每个常用的设备在linux内核中都提供了相关函数(或数据结构)供驱动编写人员调用吗?如果我不调用它们就不能写此设备的驱动了吗?
发表于 2008-10-4 23:44:41 | 显示全部楼层
我个人认为.在学习驱动的时候,没有必要学清楚所有的东西
尤其所谓的”XX设备驱动框架“,必须简短,否则很难找到重点
至于细节,看代码比看书好得多.

Linux内核中提供了一些机制,但不是标准的API(因为总变),但是思路还是蛮统一的。
过两天我会总结一章
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表