diff -urNad qc-usb-0.6.6~/qc-driver.c qc-usb-0.6.6/qc-driver.c --- qc-usb-0.6.6~/qc-driver.c 2006-10-24 04:06:19.000000000 +0200 +++ qc-usb-0.6.6/qc-driver.c 2007-12-09 17:20:30.000000000 +0100 @@ -821,7 +821,9 @@ if (!cr) goto fail2; urb->transfer_buffer = kmalloc(qc_i2c_maxbufsize*sizeof(u8), GFP_KERNEL); /* Allocate maximum ever needed */ if (!urb->transfer_buffer) goto fail3; +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24) spin_lock_init(&urb->lock); +#endif urb->complete = qc_i2c_handler; urb->context = qc; #if (LINUX_VERSION_CODE= KERNEL_VERSION(2,6,0) release: qc_v4l_release, diff -urNad qc-usb-0.6.6~/quickcam.h qc-usb-0.6.6/quickcam.h --- qc-usb-0.6.6~/quickcam.h 2006-11-04 14:38:27.000000000 +0100 +++ qc-usb-0.6.6/quickcam.h 2007-12-09 17:17:01.000000000 +0100 @@ -126,7 +126,9 @@ #define FALSE 0 #define TRUE (!FALSE) typedef unsigned char Bool; +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24) #define BIT(x) (1<<(x)) +#endif #define SIZE(a) (sizeof(a)/sizeof((a)[0])) #define MAX(a,b) ((a)>(b)?(a):(b)) #define MIN(a,b) ((a)<(b)?(a):(b))