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 版本。不过,这个方法很繁琐。
阅读(6158) | 评论(0) | 转发(0) |