Deep dive into the Lacie kernel source

Well, LaCie finally has put a GPL archive on their site, and inside it lies a 'linux-2.6.12-mv-1.10.3-lacie5b.tar.gz' file, and yes, it contains their kernel source tree. The trick is, it is based on an old Marvell set of patches, different from that which Marvell has officially contributed to the ARM kernel.

Now this code contains patches from both Marvell (so as to support their MV88F5182 SoC) and LaCie (to support the ED Mini that contains the Marvell SoC). As Marvell has, in the meantime, provided patches to the mainstream kernel, and I would like to use these, I want to apply the LaCie patches to these "Marvellized" kernels. Problem is, how do I tell the LaCie patches apart from the Marvell ones in LaCie's source kernel?

Luckily, the folks at the linux ARM mailing list (including at least two Marvell guys) have pointed me to a valuable site, that is, NAS-central. There I could find a kernel source tree for the Kurobox Pro, which is based on a Marvell LSP 1.10.3 patch 5, which is a patch 2.

So I fired off Kdiff3 on the Kurobox, Lacie and vanilla 2.6.12 kernels, and I now end up with a list of what I believe are patches from LaCie against the vanilla plus Marvell code.

There's 104 of them, so I felt I should classify them in groups as follows:

  • 15 "reject": trivial and unneeded
  • 28 "accept": trivial and needed
  • 17 "ignore": non-trivial and probably unneeded
  • 17 "port": non-trivial and probably needed
  • 27 "unclear": non-trivial and undecidable (that is, not without actually trying to merge them)

Next step is to merge those diffs into a recent kernel. :)