I'm experimenting with the kernel for Lenovo IdeaTab A2109. Here I'm documenting what I'm doing so that others who'd like to do so might join in. The kernel sources supplied by Lenovo are one big tarball without any git history and a lot of confusing additions. I succeeded in turning this big blob into a small set of separate patches that apply to a specific commit in Nvidia's kernel repo. This commit is part of the branch l4t/l4t-r16-r2. This work I've uploaded to a specific kernel branch in my own repo, named A2109-l4t-clean. I applied my patches to the following commit: Code: commit 92f2d2099e3411dfa1966e8ead58dc5654f3124c Author: Nikesh Oswal <email@example.com> Date: Tue Aug 28 19:51:04 2012 +0530 enterprise pinmux: set the pinmux for audio ports Bug: 1039342 Change-Id: Ic1f0e9fa8c8d9e69b7fb9cd35d2cbbf578c579e5 Signed-off-by: Nikesh Oswal <firstname.lastname@example.org> Reviewed-on: http://git-master/r/127868 Reviewed-by: Ravindra Lokhande <email@example.com> Reviewed-by: Scott Peterson <firstname.lastname@example.org> Separate patches can be found here: b2b7383 Add tegra camera drivers mt9m114 and s5k5cag f240d22 Add ft5x06 touchscreen driver a17df64 Add Solteam JSA1127 Ambient Light Sensor Driver from Lenovo sources f238e38 Add driver for LIS3DH Accelerometer of ST Microelectronics c8a6793 Fix a few permissions ea0743b Add support for batteries with BQ27541 (I2C/HDQ) chips 706cfec Add gpio drivers for power button and Gensor rotation lock switch b52503b Add changes in kai board files from Lenovo for A2109 1b59410 Enable the inclusion of tiload kernel driver 12be434 Switch to Lenovo's driver and codec for aic326x To make the kernel, checkout my own branch and do the following to produce a working kernel config: Code: make tegra_kai_android_defconfig I have several challenges: Switch from Lenovo's driver for aic326x to the one in the l4t/l4t-r16-r2 branch by Nvidia Rebase my patches so that they produce a working kernel on top of the l4t/l4t-r16-r2 branch Rebase my patches so that they produce a working kernel on top of an Nvidia 3.4 branch Currently, a "git rebase l4t/l4t-r16-r2" produces a kernel that boots, runs very shortly with many graphic artifacts, and then hard hangs. I'm trying to git bisect until I find the offending commit. I really hope that other people want to join me. I'll either succeed or fail, but I first want to try this, before moving to lollipop-5.1. I hope people would like to join me!