On Wed, Jan 30, 2002 at 02:05:42PM -0500, Vladimir Dergachev wrote: > Regardless of the way it is merged the driver major version will need to > be bumped. GATOS drivers does this but only minor - as I did not want to > upload a mesa radeon driver just because of the version change.
I'm afraid I haven't been following this discussion closely enough, but I found this statement sort of odd, so I thought I'd comment. Version numbers for kernel interfaces are rather different than those for normal software packages. In normal software packages they are more of a vanity thing. A minor version number bump means small things changed, and a major one means hey we did big things. In kernel drivers they are really important as they describe the API between the kernel and the user space application. There are very strict rules about which version numbers are changed when. The major version of a driver should be incremented if and only if there are incompatible changes to the driver that prevent older versions from working. You obviously want to minimize these sorts of changes, so that you don't break compatability. For example, lets say we found a big security hole in an IOCTL. The first thing we'd try to do is rewrite the function so avoid the hole. Maybe even in a way that's really slow. As long as the interface remains the same that's fine. We might add a new interface that's fast again, but keep the old one around for backward compatability. If that's completely impossible then we remove the IOCTL and bump the major version number. If you add or change functionality, but the old drivers still work, then a minor version number should be bumped. Drivers will check for a matching major number and minor number that is greater than or equal to the one they need. So, again if we go back to that security problem. If we rewrote the old IOCTL to be slow but secure and added a new one that is safe and fast, the minor number would be bumped. If you just fix a bug or make some really small change that doesn't impact the interface, then you bump the third digit. Third digits are ignored by the software and are really just documentation. (These paragraphs might be good for a FAQ/Doc somewhere) So, the thing that struck me as odd, is that you said you only bumped the minor version because you didn't want to break Mesa. If your changes do work with Mesa, than bumping the minor version is the right thing to do. We're trying REALLY hard not to change the kernel interfaces. Linus kicked our asses pretty severely about not being careful with kernel version numbers. (Rightfully so) Weve been told in no uncertain terms that if we didn't get this stuff under control it would be removed from the kernel tree. So we should be very careful about how this Gatos functionality is added. It sounds like it should be possible to do it without breaking the API if we put our thinking caps on. - |Daryll _______________________________________________ Xpert mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xpert