class_device_create 的问题

6235阅读 0评论2010-06-03 seaquester
分类:LINUX

class_device_create 的问题

冷胜魁(Seaquester)
lengshengkui@gmail.com
2010-6-3

今天在编译一个Linux kernel module 的时候,遇到下面的错误:
error: implicit declaration of function ‘class_device_create’

这个代码在 Kernel 2.6.18 下面编译的时候没有任何问题。为什么在 2.6.34 下面会出现这个错误呢?难道 class_device_create 这个 kernel API 已经从新版 kernel 里面移除了?

google了一下,发现确实是已经被移除了,在新版的 kernel 里面,可以使用 device_create 来代替,参数完全一致。

在 LXR () 网站上面查找了一番,发现 class_device_create 在 2.6.25 里面还有,从 2.6.26 起就被移除了。

Linux Kernel 的 Kernel API 是经常会变化的。这给需要支持多个版本的 Driver 带来了不小的麻烦。有没有什么地方可以很方便的知道 Linux Kernel 各个版本之间 Kernel API 的变化?暂时没有找到。一个可行的方法是,遇到问题之后,到 LXR 里面如搜索一下,LXR 可以搜索特定的 kernel 版本。不过,这个方法很繁琐。
 

上一篇:find_task_by_vpid undefined 问题
下一篇:Windows Explorer打开之后长时间没有反应的问题