The GPL states that you only need to release your code as GPL'ed if your work is a derivative of an already GPL'ed software. The key point here is what does "derivative work" mean, and I'll leave that to someone that's more knowledgeable, because anyway each tribunal would judge differently as with most things
I can only say that there are known examples are the ATi and nVidia graphics drivers, but there are many more.
However, this really depends. If you are going to develop just a module, I *think* that's fine. But if you are going to patch and modify the kernel tree, you can only redistribute this as GPL. and nothing else.