Android Mainlining Project
This page is for organizing the Android Mainlining Project. It has information and resources associated with this project.
Goal
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 it 3-fold:
- 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
- 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
- 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.
Patch/Feature Status Chart
Feature/Patch | Description | Status | Part of core? | Owner/Interested parties |
---|---|---|---|---|
logger | kernel support for Android system logging | not mainlined | yes | Tim Bird |
wakelocks | Power management locking mechanism to prevent opportunistic suspend | not mainlined | yes | Rafael Wysocki |
Android alarm timers | Timers that count down during suspended operation | Posix alarm timers were mainlined in kernel version 2.6.38 - see https://lwn.net/Articles/429925/ | yes | John Stultz |
ashmem | ||||
network security | ||||
binder | ||||
pmem | ||||
Android USB gadget | ||||
wireless features | ||||
timed gpio |
Progress Chart
This section is intended to show our progress, by showing the patch set size over time. With any luck, as we get features into mainline, the difference between the Android kernel and the legacy Linux kernel will shrink.