i was trying to compile the simplest self-made module (pasted form the book "Linux Device Drivers") and i've got plenty of errors.
the code of the 'module' is

#define MODULE
#include <linux/module.h>
int init_module(void){printk("<1>Hello,world \n");return 0;}
void cleanup_module(void){printk("<1>Goodbye cruel world \n");}

and errors are:

In file included from /usr/include/linux/timex.h:58,
from /usr/include/linux/sched.h:11,
from /usr/include/linux/module.h:10,
from hello.c:3:
/usr/include/linux/time.h:13: error: syntax error before "time_t"
/usr/include/linux/time.h:15: error: syntax error before '}' token
/usr/include/linux/time.h:19: error: syntax error before "time_t"
/usr/include/linux/time.h:143: error: field `it_interval' has incomplete type
/usr/include/linux/time.h:144: error: field `it_value' has incomplete type
/usr/include/linux/time.h:148: error: field `it_interval' has incomplete type
/usr/include/linux/time.h:149: error: field `it_value' has incomplete type
In file included from /usr/include/linux/sched.h:11,
from /usr/include/linux/module.h:10,
from hello.c:3:
/usr/include/linux/timex.h:147: error: field `time' has incomplete type
In file included from /usr/include/linux/sched.h:12,
from /usr/include/linux/module.h:10,
from hello.c:3:
/usr/include/linux/jiffies.h:84: error: syntax error before "jiffies_64"
...

and lots of so sort of lines...