LWN.net Logo

Quote of the week

Quote of the week

Posted Oct 12, 2006 13:18 UTC (Thu) by ebiederm (subscriber, #35028)
In reply to: Quote of the week by pizza
Parent article: Quote of the week

Well if a driver isn't mergeable the most likely reason is the code quality is such that it should not be run anyway.

In most cases backports can be handled by a simple compat_mac.h that defines the new apis on top of the old kernel.

Even if you have to maintain the backports merging a driver into the new kernels is a good idea so other developers can see what kind of things your driver relies on, so they don't remove the functionality you depend on.

This also makes it easier for new users to get your driver as after a point the driver is available in the kernels all of the distros ship and you don't have to do anything.

Beyond that David's comment about flagellation is apt. You may choose to do it but the price you pay for not working with the other developers is that they don't work with you.


(Log in to post comments)

Quote of the week

Posted Oct 12, 2006 14:29 UTC (Thu) by pizza (subscriber, #46) [Link]

No; it's not mergeable because it is structurally considerably different from the HolyWayOfLinux, and to make it AcceptableForMerging would strip away most of the reasons for using it (rich userspace configuration API), not to mention a great deal of work for little apparent gain.

Meanwhile, I don't think the kernel people go out of their way to make out-of-tree drivers difficult to maintain ("don't care one way or another" is a good way of putting it), but dismissing all out-of-tree drivers as somehow inferior, unsuitable for use, or "self-flagellating at best" is grossly unfair, for the precise reasons that Linus mentioned:

> it's the damn drivers maintained outside the tree, and
> people who want to maintain the same driver for multiple different
> versions of the kernel.

If your driver needs to support multiple kernel versions, then you need to maintain it out of tree, whether or not there is an in-tree variant to keep track of as well.

While there is an extensive compatibility header already in place, there are still many bits and pieces littered all over the codebase for things that are simply incompatible. Even within the 2.6-series, for example, pcmcia changed radically for both 2.6.16 and 2.6.17.

Quote of the week

Posted Oct 12, 2006 18:34 UTC (Thu) by Thalience (subscriber, #4217) [Link]

I think "self-flagellating" was meant to describe the self-inflicted pain of maintaining the driver out-of-tree, and not using it.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds