Tim Bird, a Sony engineering veteran and the chair of the Architecture Group of the Linux Foundation's CE Workgroup, has announced a new concerted effort to get Android's changes to the Linux kernel back into the mainline Linux kernel tree.
Tim Bird announced this week the Android Mainlining Project to "mainline patches and featuresfrom Android into the mainline Linux kernel." He announced this to the Linux kernel developers mailing list
This new project comes out of discussions at the Linux kernel summit in Prague and elsewhere about getting some Android-specific features into the mainline tree and just getting other Android work into the de facto Linux kernel tree of Linus Torvalds at Kernel.org.
While Google's Android platform uses the Linux kernel, they're generally lagging a few releases behind the mainline tree due to the massive patch-set they carry atop the vanilla kernel. For example, Android 3.x "Honeycomb" as introduced earlier this year is built on a patched Linux 2.6.36 kernel.
While some Android work has made it back into the mainline Linux kernel, there's still many patches that are still living outside -- for new features (e.g. Wakelocks), device drivers, etc. Some Android work has made it successfully into the Linux kernel while other patches/drivers have wound up in the staging area and only to be later dropped after not receiving any maintenance.
Google has for over a long-time expressed interest in better engaging with the upstream Linux kernel community, but there hasn't been any major interest or significant resources devoted to getting a bulk of the Android work in the mainline kernel.
Linus Torvalds earlier this year at LinuxCon Vancouver expressed his views that the Android Linux kernel and mainline Linux kernel will likely converge in the future, but he expects this to be a drawn-out process over several years.
This new concerted effort is represented by the Linux Foundation's CE working group, some Linaro developers, and other independent developers/organizations. They have setup a Wiki page at eLinux.org
to organize the effort, including a table showing the status of key Android patches. Below is their stated goals for this project.
The goal of this project is to ultimately mainline all patches required to run the current released version of Android. The purpose of mainlining these patches is 3-fold:
1. to allow a developer to use the latest released version of the Linux kernel to run an Android system, without requiring patches to their kernel
2. to make it possible to develop drivers and board support features against either an Android kernel release or a kernel.org kernel release, with little or no modifications or conditional code
3. to reduce or eliminate the burden of maintaining independent patches from release to release for Android kernel developers
To "mainline" a patch means to have it included in Linus Torvalds kernel.org kernel, in a released (non-rc) version.