make -C /opt/FriendlyARM/linux-2.6.32.2 M=/opt/FriendlyARM/linux-arm-modules/plat_buttons modules
make[1]: Entering directory `/opt/FriendlyARM/linux-2.6.32.2'
CC [M] /opt/FriendlyARM/linux-arm-modules/plat_buttons/plat_buttons.o
/opt/FriendlyARM/linux-arm-modules/plat_buttons/plat_buttons.c: In function 'buttons_interrupt':
/opt/FriendlyARM/linux-arm-modules/plat_buttons/plat_buttons.c:41: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function)
/opt/FriendlyARM/linux-arm-modules/plat_buttons/plat_buttons.c:41: error: (Each undeclared identifier is reported only once
/opt/FriendlyARM/linux-arm-modules/plat_buttons/plat_buttons.c:41: error: for each function it appears in.)
/opt/FriendlyARM/linux-arm-modules/plat_buttons/plat_buttons.c: In function 's3c24xx_buttons_read':
/opt/FriendlyARM/linux-arm-modules/plat_buttons/plat_buttons.c:99: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function)
/opt/FriendlyARM/linux-arm-modules/plat_buttons/plat_buttons.c:99: error: implicit declaration of function 'signal_pending'
/opt/FriendlyARM/linux-arm-modules/plat_buttons/plat_buttons.c:99: error: implicit declaration of function 'schedule'
make[2]: *** [/opt/FriendlyARM/linux-arm-modules/plat_buttons/plat_buttons.o] Error 1
make[1]: *** [_module_/opt/FriendlyARM/linux-arm-modules/plat_buttons] Error 2
make[1]: Leaving directory `/opt/FriendlyARM/linux-2.6.32.2'
make: *** [all] Error 2
错误定位行 wake_up_interruptible(&button_waitq);
原因缺少头文件 #include <linux/sched.h> 添加后即可通过编译