Our kernel approach has two objectives. A stable kernel so that applications can be written and users can enjoy our products today, and upstreaming our kernel so our hardware becomes a maintainable piece of hardware that can benefit from the latest software updates and bug fixes for many years to come.
The stable kernel and drivers will initially come from semiconductor companies, choosen for the quality of their linux support. Ideally we will work on joint reference platforms with chip vendors to address upstream requirements from day one. At all times we will maintain a fully regression tested kernel while we push that kernel upstream. We will work with our manufacturing partners on a joint suite of unit tests to be used both in production testing as well as regression testing. This will significantly reduce costs, allow new kernels to be introduced into production images, and assist our ongoing upstreaming effort.
Upstreaming is tedious work and progress is often slow. Quality standards are high and architectural changes may be necessary for peaceful coexistance with other devices and platforms. We believe the Linux kernel community has done a marvelous job in making hardware maintainable and usable for the long run, so we are prepared to go the extra mile - submit patches, accept feedback, prepare for merge windows, and so on.
In the embedded world a kernel just needs to work. At Qi hardware it needs to live.