Getting code into the Linux kernel requires patience and a lot of work to conform to the standards set by the developers. I saw a great talk at ELC 2010 [1] from Greg Kroah-Hartman on the problems they faced when trying to get the Android changes into the kernel. He also did a short write-up of the problems[2].
[1] Video: http://free-electrons.com/blog/elc-2010-videos/ [2] http://www.kroah.com/log/linux/android-kernel-problems.html