Chinaunix首页 | 论坛 | 博客
  • 博客访问: 588397
  • 博文数量: 50
  • 博客积分: 4764
  • 博客等级: 上校
  • 技术积分: 597
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-18 09:00
个人简介

资深IT码农,擅长Linux、C/C++、bash

文章分类

全部博文(50)

文章存档

2015年(17)

2014年(2)

2011年(7)

2010年(4)

2009年(20)

分类: LINUX

2010-06-03 10:45:03

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 版本。不过,这个方法很繁琐。
 

阅读(6077) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~