问题原因是在定义结构体时后面缺少一个分号。
#include "gpio_buttons.h"
//MODULE_LICENSE("GPL");//
25 struct resource button_resource [] =
26 {
27 {
28 .start = IRQ_GPIO1,
29 .end = IRQ_GPIO1,
30 .flags = IORESOURCE_IRQ,//resource type ,irq_type 定义资源的类型
31 }
32};
在如上如定义一个按键驱动的时候,在编译中一直在25行报错误,错误如题:two or more data types in declaration specifiers
开始一直以为是结构体出问题了,找了n多可能是结构体的原因,最后一条条的排除,确定结构体是没有问题的。
然后开始往上找问题, 其实出现问题是不应该往下找的,是应该从出问题行往上找。
最后发现是头文件“gpio_buttons.h中的一个结构体定义后面缺少了分号,如下:
#ifndef __GPIO_BUTTONS_H__
#define __GPIO_BUTTONS_H__
struct gpio_button
{
int code;//the key code
char *desc;//description information
int gpio;//the pin number
}
#endif