Kernel areas of focus for mainlining

This page has a list of areas of the kernel where multiple phone vendors have code out-of-tree, or that appear to need some work in order to accommodate contribution of phone-related software.

= Overview = The following table shows major out-of-tree areas of code, for mobile phone products based on the 3.4 Linux kernel. Although this kernel is quite old, it was the one currently shipping in phones in late 2014 and early 2015, when this analysis was done. It demonstrates the major technical areas where vendors used out-of-tree kernel code, for that generation of products.

[add 3.4 table of out-of-tree major areas]

= Technical areas = Here are some lists of things to get mainlined, in different technical areas:

USB
Here's a brief list:
 * USB-gadget to charger interface
 * USB code for external vbus and ID detection (looks like extcon was created for stuff like this)

==

= Notes from ksummit-discuss list =
 * RGB leds - not the same as 3 leds, and sometimes have hardware acceleration
 * battery over-discharge protection
 * charger (there are 3 different chargers on N900)
 * voice link to modem (Nokia says ALSO is not suitable for modem audio)
 * userspace (mini-distro?) for testing
 * suspend-to-ram