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."

I wonder what all the pundits that have proclaimed that stable APIs are evil for years will say now that their beloved Linux kernel is providing one?

They will claim that there is a difference between a stable API for drivers in user space and one for kernel space.

For me, I think the real reason why they don't have a stable driver API is that it would require them to actually knuckle down and design something rather than merely just throwing at a wall to see what sticks.

When things like the USB stack have been rewritten 3 times, people here point to 'ooh, they're optimising' when in reality it has to do with a lack of planning - Linux kernel developers seem to ignore the cardinal rule that all programmers are taught regarding system design and analysis.