Mainlining Linux kernel, drivers and bootloader code

Making the official version of the Linux kernel (and of the bootloader) support your hardware.

This brings many benefits:

  • For users, using a hardware platform that is supported by the mainline kernel is a guarantee of long term availability of updates, quality of code, and use of standard interfaces.
  • For hardware makers, in addition to making your hardware more attractive to customers, they also get reduced maintenance costs, as most of the maintenance work is then done by the community.

So, this type of development can either be ordered by users or more often, by hardware providers.

While doing this mainlining work is very interesting, it requires a significant amount of experience and time to have board support code accepted by the mainline Linux developers:

  • You have to be familiar with the community’s coding and quality standards and choices. They only accept code that they will be able to maintain by themselves later.
  • You can have to go through multiple code reviews and through multiple code submissions before you reach a solution that is accepted. Multiple kernel versions will happen before all of your code is accepted.
  • The implementation you propose has to be consistent with other similar implementations, and shouldn’t duplicate things already done by others.

As we have a very good knowledge of the mainline Linux development community and good experience writing new code and getting it accepted, we can achieve these results faster than you could, if you don’t have experienced kernel contributors in your teams.

See all our contributions to the mainline Linux kernel.

Back to our main development page.