Am Dienstag 27 September 2011, 04:05:31 schrieb Grant Edwards: > On 2011-09-27, Michael Orlitzky <mich...@orlitzky.com> wrote: > > On 09/26/11 16:13, Grant Edwards wrote: > >> That's hilarious. > >> > >> The Linux developers are _constantly_ changing APIs in ways that break > >> existing device driver code. There are repeatedly wholesale > >> re-designs of some APIs that happen between minor versions of a > >> supposedly "stable" kernel. > >> > >> We have to touch our NetBSD and FreeBSD drivers maybe once every 3-4 > >> years. Often our Linux drivers have to be updated every 3-4 _months_ > >> to keep up with changes in the kernel that break things. > >> > >> I suppose one could try to claim that people who ship Linux drivers > >> for their hardware aren't "users" of the kernel, and therefore our > >> dealing with such breakage isn't a "user experience". > > > > Contribute your drivers upstream. When the devs change an API, they'll > > update your code for you. > > That sounds good, but in practice it doesn't work. > > 1) The kernel developers don't support any existing customers. Bugs > are only fixed for customers who are willing to run the next > kernel verison. I've got customers that are still running 2.4 > kernels. 2.6.18 is still widely used. Will the kernel developers > add new features, support for new hardware, or fix bugs for those > customers. Not a chance.
so what? There are long term stable kernels with no api changes. Hmm... > > 2) The kernel developers only make sure that drivers compile. They > don't have the hardware or knowlege required to actually test > them. One of our drivers _is_ in the kernel. Sure, it builds, > but AFAIK, it hasn't actually worked for at least 10 years. and nobody complains on lkml about it - seems that nobody uses your hardware. If something stops working (called a 'regression' btw) it has to be fixed. Linus is very clear about that. > > Trying to maintain two drivers (one in-kernel and one out-of-kernel) > just creates twice as much work for no gain. then don't be outside the kernel. -- #163933