There is NO KERNEL INTERFACE FOR LINUX DRIVERS.
NONE.
People talk about stable ABI or API for kernel drivers, there is no such thing. Between Suse 9 and Suse 10 they changed _kernels_. If you want to use old kernel modules the only real way is to use old kernels.
There is NO ABI, there is no stable API.
Kernel module files are mearly bits of kernel code. They can be compiled into the kernel or not. They do not have to be all compiled at the same time, but the kernel modules are only ment for one specific version of kernels. Even if your using the same kernel source code and same versions there is no garrentee that a recompile by one person can be compatable with a recompile from another person. It can be as simple as changing kernel parameters or using a different version of GCC.
It's simply not designed to work that way.
The only things you have are interfaces exposed to userspace like system calls, and files in the /dev, /proc, and /sys directories.
Truthfully I don't care how it all works, I am not a developer just an end-user. I just find Windows update process a lot smoother for me.
You mean Windows lack-of-updates.
When Windows is using the same kernel for 5 years it's easy to talk about easy updates, because there _isn't_any_. You using pretty much the same kernel as when Windows XP was released in 2001.
When going from Windows XP to Windows 2003, or between Windows XP and Windows XP-64 and Vista 32bit and Vista 64bit then drivers are a very hit-and-miss thing for Windows. Sometimes they work, sometimes they don't, sometimes they have random small bugs causing things like BSOD when you try to do certain operation.
And this is Windows being designed specificly for this stuff. You have the Windows HAL and different personalities and stable driver interfaces and such. All in all this makes the NT kernel a order of magnitude larger and more complex then Linux and it still doesn't mean that you can trust that your XP drivers are going to work in Vista.
If you want a similar experiance in Linux then don't use stuff like OpenSuse, Fedora, or Ubuntu. You want to stick with long-term stuff like Redhat, CentOS, or Debian Stable. That way you only have to deal with kernel upgrades every 3 years or so.