Linked by Thom Holwerda on Sun 22nd Jul 2007 00:33 UTC, submitted by liquidat
Linux Linus Torvalds included patches into the mainline tree which implement a stable userspace driver API into the Linux kernel. The stable driver API was already announced a year ago by Greg Kroah-Hartman. Now the last patches were uploaded and the API was included in Linus' tree. The idea of the API is to make life easier for driver developers: "This interface allows the ability to write the majority of a driver in userspace with only a very small shell of a driver in the kernel itself. It uses a char device and sysfs to interact with a userspace process to process interrupts and control memory accesses."
Thread beginning with comment 257202
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[4]: I wonder...
by TBPrince on Sun 22nd Jul 2007 11:43 UTC in reply to "RE[3]: I wonder..."
TBPrince
Member since:
2005-07-06

On what basis - you design a stable on the basis of future development; if you design it based solely on todays specifications, of course you're doomed to failure!

Stable API means you provide support for backward compatibility, not that you can't change API anymore.

Simply API must be "versioned", by extendeding existing API, not completely replacing it. This usually means that if API gets published for v2.6.x. for example, it will stay stable until 3.x or 2.7 at least.

If you need to extend API, you can do that but you won't remove old API: you will just add new extensions. Software using new API will usually claim itself compatible with newer kernels only (for ex. 2.7+), while software developed for earlier version will keep being compatible.

That's how most systems work and trust me: it's a lot better to attract developers.

Reply Parent Score: 4

RE[5]: I wonder...
by kaiwai on Sun 22nd Jul 2007 12:19 in reply to "RE[4]: I wonder..."
kaiwai Member since:
2005-07-06

Stable API means you provide support for backward compatibility, not that you can't change API anymore.

Simply API must be "versioned", by extendeding existing API, not completely replacing it. This usually means that if API gets published for v2.6.x. for example, it will stay stable until 3.x or 2.7 at least.


I never said that it couldn't be changed - read what I wrote. The issue raised by some here is that if you have backwards compatibility, you magically castrate the developers from making changes and enhancements.

If you need to extend API, you can do that but you won't remove old API: you will just add new extensions. Software using new API will usually claim itself compatible with newer kernels only (for ex. 2.7+), while software developed for earlier version will keep being compatible.

That's how most systems work and trust me: it's a lot better to attract developers.


I never argued against it. Again, I stress - read the WHOLE thread, don't just jump in half way through the conversation making assumptions on what I or others have said.

Reply Parent Score: 3