On Sunday 05 June 2011, Dirk Behme wrote:
after Nicolas' announcement of linaro-2.6.39 [1] I had a look to the bsp/freescale/linux-linaro-natty.git lt-2.6.38 kernel [2] what has to be done to port that to 2.6.39.
Looking at that lt-2.6.38 branch, I exported 184 patches [3] which seem to be specific for this lt kernel (?).
Then, I rebase them to Nicolas' linaro-2.6.39 using quilt. See the attached quilt series file for which patches were used and which were dropped (because they seem to be already in 2.6.39 mainline).
This is unfortunately not the best approach. You should never rebase a patch series to go on top of another patch series or git tree other than the mainline linux-2.6.
You still have a large number of unrelated patches in a linear series, which means that you are not one bit closer to getting them merged upstream, and that you will have to do the exact same work the next time when a new kernel gets released.
A better approach is to create multiple topic branches on top of the mainline 2.6.39 kernel and apply patches from one area of the kernel to each of that branch. In order to get a single kernel tree from the multiple branches and the Linaro-2.6.39 changes, you then do a merge of all those branches into one master branch.
This makes it much easier to see what patches you have in a certain area of the kernel, or post the respective branch for review. At the next upstream kernel release, you can take the branches and rebase them individually. If one of the branches causes problems, you can also let someone else do the rebase.
I've tried to explain this some time ago and did an exemplary git tree at http://git.linaro.org/gitweb?p=people/arnd/imx.git%3Ba=summary Unfortunately, it seems that this was not picked up in the main imx tree, so you will have to do the work again.
Please do ask me or the linaro-kernel team when you have questions about how to do the split into multiple branches. Once you have some experience using git-rebase, it will be a very natural thing to do.
Note: I couldn't figure how to put binary firmware files into a patch. This does mean that the patch series misses the firmware/imx/sdma/ files. You have to download them from [4] and put them manually to firmware/imx/sdma/ to be able to compile imx5_defconfig successfully.
Binary firmware files don't belong into the kernel. What you should do is to add them to the linux-firmware package maintained by David Woodhouse at http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git%3Ba=tree
Arnd