This section of the Kernelnewbies site is meant as a guide on how to get code merged into the upstream kernel.
["/WhyMergeUpstream"] why should I merge my code into the upstream kernel?
["/SubmittingDrivers"] how to submit device drivers to the linux kernel (from the kernel tree)
["/SubmittingPatches"] how to submit patches to the linux kernel (from the kernel tree)