|
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
static int __init gpio_init(void)
{
int err=0;
printk("gpio_init\n");
// err=register_chrdev(IOPORT_MAJOR,"gpio",&gpio_ctl_fops);
if (err)
{
printk("fail to register\n");
return -1;
}
printk("success to register\n");
return 0;
}
int gpio_release(struct inode *inode,struct file *filp)
{
printk("release this device\n");
return 0;
}
module_init(gpio_init);
module_exit(gpio_release);
反正我敢担保代码绝对没错,可是用
gcc -Wall -D__KERNEL__ -DMODULE -I/usr/src/linux/include -O2 -c -o hello.o hello.c
编译时却出现了一大堆的错
/usr/src/linux/include/asm/semaphore.h:88: unknown register name `lr' in `asm'
/usr/src/linux/include/asm/semaphore.h:88: unknown register name `ip' in `asm'
/usr/src/linux/include/asm/semaphore.h:88: unknown register name `lr' in `asm'
/usr/src/linux/include/asm/semaphore.h:88: unknown register name `ip' in `asm'
/usr/src/linux/include/asm/semaphore.h:88: unknown register name `lr' in `asm'
/usr/src/linux/include/asm/semaphore.h:88: unknown register name `ip' in `asm'
...
都是这些,高手帮帮忙看一下是什么问题? |
|