|
我现在写了一个在简单不过的驱动<br />#ifndef MODULE<br /> #define MODULE<br />#endif<br /><br />#include <linux/config.h><br />#include <linux/module.h><br /><br />#include <linux/kernel.h><br /><br />#include <linux/malloc.h><br />#include <linux/types.h><br /><br />#include <linux/fs.h><br /><br />//#include <linux/errno.h><br />//#include <linux/types.h><br />static int init_module(void)<br />{<br /> printk("<1>Hello,world!\n");<br /> return 0;<br />}<br />static void cleanup_module(void)<br />{<br /> printk("<1>Goodbye\n");<br />}<br />#ifndef MODULE<br /> #define MODULE<br />#endif<br /><br />#include <linux/config.h><br />#include <linux/module.h><br /><br />#include <linux/kernel.h><br /><br />#include <linux/malloc.h><br />#include <linux/types.h><br /><br />#include <linux/fs.h><br /><br />//#include <linux/errno.h><br />//#include <linux/types.h><br />static int init_module(void)<br />{<br /> printk("<1>Hello,world!\n");<br /> return 0;<br />}<br />static void cleanup_module(void)<br />{<br /> printk("<1>Goodbye\n");<br />}<br />#ifndef MODULE<br /> #define MODULE<br />#endif<br /><br />#include <linux/config.h><br />#include <linux/module.h><br /><br />#include <linux/kernel.h><br /><br />#include <linux/malloc.h><br />#include <linux/types.h><br /><br />#include <linux/fs.h><br /><br />//#include <linux/errno.h><br />//#include <linux/types.h><br />static int init_module(void)<br />{<br /> printk("<1>Hello,world!\n");<br /> return 0;<br />}<br />static void cleanup_module(void)<br />{<br /> printk("<1>Goodbye\n");<br />}<br />#ifndef MODULE<br /> #define MODULE<br />#endif<br /><br />#include <linux/config.h><br />#include <linux/module.h><br /><br />#include <linux/kernel.h><br /><br />#include <linux/malloc.h><br />#include <linux/types.h><br />#include <linux/fs.h><br />#include <linux/errno.h><br />#include <linux/types.h><br /><br />static int init_module(void)<br />{<br /> printk("<1>Hello,world!\n");<br /> return 0;<br />}<br />static void cleanup_module(void)<br />{<br /> printk("<1>Goodbye\n");<br />}<br />module_init(init_module);<br />module_exit(cleanup_module);<br />但是发现我不能引用linux/fs.h<br />报错信息如下:<br />[root@localhost ARM2CPLD]# make<br />arm-linux-gcc -c -O2 -Wall -DMODULE -I/ARMs3c2410/kernel/include ARM2CPLD.c<br />In file included from ARM2CPLD.c:15:<br />/ARMs3c2410/kernel/include/linux/malloc.h:4:2: warning: #warning linux/malloc.h is deprecated, use linux/slab.h instead.<br />In file included from /ARMs3c2410/kernel/include/linux/fs.h:13,<br /> from ARM2CPLD.c:16:<br />/ARMs3c2410/kernel/include/linux/types.h:14: error: parse error before "dev_t"<br />/ARMs3c2410/kernel/include/linux/types.h:14: warning: type defaults to `int' in declaration of `dev_t'<br />/ARMs3c2410/kernel/include/linux/types.h:14: warning: data definition has no type or storage class<br />ARM2CPLD.c: In function `init_module':<br />ARM2CPLD.c:22: warning: implicit declaration of function `printk'<br />ARM2CPLD.c: At top level:<br />ARM2CPLD.c:29: warning: type defaults to `int' in declaration of `module_init'<br />ARM2CPLD.c:29: warning: parameter names (without types) in function declaration<br />ARM2CPLD.c:29: warning: data definition has no type or storage class<br />ARM2CPLD.c:30: warning: type defaults to `int' in declaration of `module_exit'<br />ARM2CPLD.c:30: warning: parameter names (without types) in function declaration<br />ARM2CPLD.c:30: warning: data definition has no type or storage class<br />ARM2CPLD.c:21: warning: 'init_module' defined but not used<br />ARM2CPLD.c:26: warning: 'cleanup_module' defined but not used<br />我看了一下,好像主要的错误就是那个<br />/ARMs3c2410/kernel/include/linux/types.h:14: error: parse error before "dev_t"<br />请问我这个东西是怎么一回事啊,谢谢 |
|