日期:2014-05-16  浏览次数:20830 次

不同linux版本内核驱动的更改
各位大侠好:
我最近在用linux内核(2.6.28)版本的系统做一个控制系统,但是后来发现用的解码芯片wm8988的驱动程序没有,只有在高版本(2.6.33)的系统中才有,但是我的播放软件都写好了,不能在2.6.33中使用,所以想把2.6.33中的8988驱动改到2.6.28中使用。但是不知道怎么下手,请各位大侠指点一下;

我做了一些尝试:一是根据错误改结构体,发现一个串一个都串大KOBJECT里面去了,太深了,改得越多,错得越多 ,后面放弃了。二是把2.6.33中的8988编译成模块文件,然后放到2.6.28中加载,但是提示格式不对。所以也想请问一下怎么把高版本2.6.33的.KO文件加载到低版本2.6.28的内核中使用?

------解决方案--------------------
为什么不尝试在新内核版本上编译你的播放软件呢。这个不是更容易一些么
------解决方案--------------------
直接改驱动确实比较麻烦的
2.6.33与28间变化很大,我记得从30开始驱动模型就又调整了。想方便点,只能看28或者29的各个子版本有无现成驱动了;
另外,还是顶一楼,永远不应忘记,一般来说,应用层的改动比改驱动简单
------解决方案--------------------
哪有不能适配os的程序,按1楼的意见吧