首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用旧版内核更新mtd驱动程序

使用旧版内核更新mtd驱动程序
EN

Stack Overflow用户
提问于 2013-09-24 14:42:19
回答 1查看 456关注 0票数 1

我正在使用Spansion 64MB NOR闪存(通过mtd/cfi_cmdset_0002),并且面临与闪存擦除操作相关的问题。

我使用的是Linux Kernel 2.6.10,通过比较2.6.10和3.11.1之间的/drivers/mtd的代码

为/drivers/ mtd /chip/cfi_cmdset_0002.c)和其他mtd文件提供了一些修复,用于检查位切换、闪存擦除时延迟的变化以及启用和禁用闪存操作的VPP。

我已经对drivers /mtd /chips下的文件进行了更改,但是当检查/mtd文件(如mtdpart、mtdcore、cmdlinepart等)的更改时,我可以看到需要进行大量的移植,而且似乎需要移植内核本身。有没有办法解决这个问题,因为我不想改变内核,但想把mtd驱动程序代码升级到最好的2.6.10本身?

我还想知道从2.6.10到3.11.1的mtd代码的更改日志在哪里(我找不到它,也没有更新这些文件中的修订历史记录以进行更改)

EN

回答 1

Stack Overflow用户

发布于 2013-09-26 08:23:47

有没有办法解决这个问题,因为我不想改变内核,而是想把mtd驱动程序代码升级到最好的2.6.10本身?

通常,对Linux的所有提交都会尝试成为实现功能块的原子部分。任何编写过一点代码的人都会知道,一些更改是非常孤立的,而另一些更改则是系统。也就是说,你有一个具体的功能变化和infra-structure变化。如果你想得到3.11.1的所有更改,你必须得到3.11.1。您需要决定哪些基础结构更改是您不想要的。

在infradead.org上有一些UbiFs后端,例如UbiFs 2.6.32 backport包含了针对MTD层的补丁,最高可达Linux3.0。接受这些更改并将它们应用于您的树应该不是什么大问题。Linux2.6.34和2.6.32有更好的后端端口;如果您可以升级到该版本,则需要做的事情更少。支持特定于驱动程序或芯片组的所有更改是相当简单的。有时,基础结构的变化会使后端端口变得困难或不可能。例如,在较旧的内核中,不允许从中断上下文中调用函数,但在较新的版本中可以。检查一些 at infradead,其中一个可能适合您的情况。

通常,我会检查这些更改,并且只返回我需要的端口。您可以使用git format-patch verA..verB file获取单个文件的补丁,然后使用git am应用它们。应用10-20然后进行构建/回归测试是相当简单的。由于您必须丢弃补丁,因此合并后面的补丁将变得越来越难。

我还想知道从2.6.10到3.11.1的

代码的更改日志在哪里(我找不到它,也没有更新这些文件中的修订历史记录以进行更改)

只需转到目录并使用git log --follow .即可;对于文件移动的情况,您需要使用--follow选项;至少我认为这是可行的。如果没有,你可以在移动之前使用*SHA_ID~1*使用git检查版本,并在移动之前使用分离的头部来获取历史记录。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18974664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档