ok, so, the headers are found in a different directory than gcc thinks. In that case, you may have to change the prefix.
you have tried
gcc -D_KERNEL_ -I/usr/src/linux/include -DMODULE -Wall -O2 -c hello.c
this basically tells gcc to look for the include files in the path /usr/src/linux/include/... However, as you have found, on your system the correct path should be /usr/src/linux/include/linux/.... So, maybe you should try this:
gcc -D_KERNEL_ -I/usr/src/linux/include/linux -DMODULE -Wall -O2 -c hello.c
If that doesn't work, we'll continue the search...(you may then have to set a symlink to an alternative directory name and point gcc to that)...on the other hand, perhaps other have a quick solution...