请教摄像头驱动安装问题

我用的是redhat9.03版本Linux,2.4.20-8的内核,我想要安装摄像头驱动,按照网上所说我下载了spca5xx-20060501.yar.bz2,安装时出错了,请高手解答,错误如下:
[root@localhost root]# cd spca5xx-20060501
[root@localhost spca5xx-20060501]# make  clean
rm -r -f drivers/usb/*.o drivers/usb/.spcadecoder.o.cmd \
drivers/usb/.spca5xx.o.cmd  *.o *.ko *.mod.* .[a-z]* core *.i
[root@localhost spca5xx-20060501]# make
Compiling drivers/usb/spcadecoder.c
Compiling drivers/usb/spca5xx.c
In file included from /lib/modules/2.4.20-8/build/include/linux/vmalloc.h:8,
from drivers/usb/spca5xx.c:46:
/lib/modules/2.4.20-8/build/include/linux/highmem.h: In function `bh_kmap':
/lib/modules/2.4.20-8/build/include/linux/highmem.h:20: warning: pointer of type
`void *' used in arithmetic
drivers/usb/spca5xx.c: In function `spca50x_read_proc':
drivers/usb/spca5xx.c:1096: structure has no member named `seq'
drivers/usb/spca5xx.c: In function `spca5xx_mmap':
drivers/usb/spca5xx.c:3235: warning: passing arg 1 of `remap_page_range_R2baf18f
2' makes pointer from integer without a cast
drivers/usb/spca5xx.c:3235: incompatible type for argument 4 of `remap_page_range_R2baf18f2'
drivers/usb/spca5xx.c:3235: too few arguments to function `remap_page_range_R2baf18f2'
drivers/usb/spca5xx.c: At top level:
drivers/usb/spca5xx.c:3280: warning: initialization from incompatible pointer type
drivers/usb/spca5xx.c:5655: warning: initialization from incompatible pointer type
drivers/usb/spca5xx.c:5656: warning: initialization from incompatible pointer type
drivers/usb/spca5xx.c:5657: warning: initialization from incompatible pointer type
drivers/usb/spca5xx.c:5658: warning: braces around scalar initializer
drivers/usb/spca5xx.c:5658: warning: (near initialization for `spca5xx_driver.disconnect')
drivers/usb/spca5xx.c:5658: warning: excess elements in scalar initializer
drivers/usb/spca5xx.c:5658: warning: (near initialization for `spca5xx_driver.disconnect')
drivers/usb/spca5xx.c:150: warning: `bright' defined but not used
drivers/usb/spca5xx.c:151: warning: `contrast' defined but not used
make: *** [drivers/usb/spca5xx.o] Error 1
[root@localhost spca5xx-20060501]# make install
Compiling drivers/usb/spca5xx.c
In file included from /lib/modules/2.4.20-8/build/include/linux/vmalloc.h:8,
from drivers/usb/spca5xx.c:46:
/lib/modules/2.4.20-8/build/include/linux/highmem.h: In function `bh_kmap':
/lib/modules/2.4.20-8/build/include/linux/highmem.h:20: warning: pointer of type `void *' used in arithmetic
drivers/usb/spca5xx.c: In function `spca50x_read_proc':
drivers/usb/spca5xx.c:1096: structure has no member named `seq'
drivers/usb/spca5xx.c: In function `spca5xx_mmap':
drivers/usb/spca5xx.c:3235: warning: passing arg 1 of `remap_page_range_R2baf18f2' makes pointer from integer without a cast
drivers/usb/spca5xx.c:3235: incompatible type for argument 4 of `remap_page_range_R2baf18f2'
drivers/usb/spca5xx.c:3235: too few arguments to function `remap_page_range_R2baf18f2'
drivers/usb/spca5xx.c: At top level:
drivers/usb/spca5xx.c:3280: warning: initialization from incompatible pointer type
drivers/usb/spca5xx.c:5655: warning: initialization from incompatible pointer type
drivers/usb/spca5xx.c:5656: warning: initialization from incompatible pointer type
drivers/usb/spca5xx.c:5657: warning: initialization from incompatible pointer type
drivers/usb/spca5xx.c:5658: warning: braces around scalar initializer
drivers/usb/spca5xx.c:5658: warning: (near initialization for `spca5xx_driver.disconnect')
drivers/usb/spca5xx.c:5658: warning: excess elements in scalar initializer
drivers/usb/spca5xx.c:5658: warning: (near initialization for `spca5xx_driver.disconnect')
drivers/usb/spca5xx.c:150: warning: `bright' defined but not used
drivers/usb/spca5xx.c:151: warning: `contrast' defined but not used
make: *** [drivers/usb/spca5xx.o] Error 1