我的mini2440的内核版本号位2.6.29,网上下载了一个摄像头驱动源码gspcav1-20071224.tar,可是编译出现如下问题,请高人指导,谢谢
make -C /opt/kernel/linux-2.6.29/ SUBDIRS=/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224 CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc modules
make[1]: Entering directory `/opt/kernel/linux-2.6.29'
CC [M] /opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.o
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.c:55:27: error: asm/semaphore.h: No such file or directory
In file included from /opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.c:846:
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/utils/spcausb.h: In function 'spca5xxRegRead':
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/utils/spcausb.h:95: error: implicit declaration of function 'info'
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/utils/spcausb.h: In function 'spca_set_interface':
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/utils/spcausb.h:278: error: implicit declaration of function 'warn'
In file included from /opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.c:854:
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h: In function 'sp5xxfw2_init':
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:122: error: called object 'info' is not a function
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:136: error: called object 'info' is not a function
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:141: error: called object 'info' is not a function
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:148: error: called object 'info' is not a function
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:176: error: called object 'info' is not a function
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h: In function 'sp5xxfw2_start':
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:214: error: called object 'info' is not a function
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:230: error: called object 'info' is not a function
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.c: In function 'spca5xx_ioctl':
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.c:2464: error: implicit declaration of function 'video_usercopy'
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.c: At top level:
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.c:2610: error: unknown field 'owner' specified in initializer
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.c:2610: warning: initialization from incompatible pointer type
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.c:2612: error: unknown field 'type' specified in initializer
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.c:2616: warning: initialization from incompatible pointer type
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.c: In function 'spca50x_create_sysfs':
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.c:2770: error: implicit declaration of function 'video_device_create_file'
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.c:2781: error: implicit declaration of function 'video_device_remove_file'
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.c: In function 'spca5xx_probe':
/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.c:4302: error: incompatible types in assignment
make[2]: *** [/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224/gspca_core.o] Error 1
make[1]: *** [_module_/opt/kernel/linux-2.6.29/drivers/media/video/gspcav1-20071224] Error 2
make[1]: Leaving directory `/opt/kernel/linux-2.6.29'
make: *** [default] Error 2