From eed98d8bd7a4183ec694fb7a171b3e548355c2de Mon Sep 17 00:00:00 2001
From: nico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sat, 12 Apr 2008 20:20:41 +0000
Subject: [PATCH] package/qc-usb:  * update to 0.6.6 (closes: #3215)  * fix
 build on linux > 2.6.23

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10796 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 package/qc-usb/Makefile                       |  6 ++---
 package/qc-usb/patches/001-linux_2_6.patch    | 23 ++++++++++++++++
 .../qc-usb/patches/001-linux_autoconf.patch   | 26 -------------------
 3 files changed, 26 insertions(+), 29 deletions(-)
 create mode 100644 package/qc-usb/patches/001-linux_2_6.patch
 delete mode 100644 package/qc-usb/patches/001-linux_autoconf.patch

diff --git a/package/qc-usb/Makefile b/package/qc-usb/Makefile
index 47afc8c28..1d57ccb66 100644
--- a/package/qc-usb/Makefile
+++ b/package/qc-usb/Makefile
@@ -1,5 +1,5 @@
 # 
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2006-2008 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -10,12 +10,12 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=qc-usb
-PKG_VERSION:=0.6.5
+PKG_VERSION:=0.6.6
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/qce-ga
-PKG_MD5SUM:=6f6787e1dda11ca3b936ad434154f426
+PKG_MD5SUM:=9eab8fb3a75326d1565d59b0c7256075
 
 include $(INCLUDE_DIR)/package.mk
 
diff --git a/package/qc-usb/patches/001-linux_2_6.patch b/package/qc-usb/patches/001-linux_2_6.patch
new file mode 100644
index 000000000..d0b8687d3
--- /dev/null
+++ b/package/qc-usb/patches/001-linux_2_6.patch
@@ -0,0 +1,23 @@
+diff -ruN qc-usb-0.6.6-orig/qc-driver.c qc-usb-0.6.6/qc-driver.c
+--- qc-usb-0.6.6-orig/qc-driver.c	2006-10-24 04:06:19.000000000 +0200
++++ qc-usb-0.6.6/qc-driver.c	2008-04-12 18:01:01.000000000 +0200
+@@ -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,9) && !defined(CONFIG_SUSE_KERNEL)) || LINUX_VERSION_CODE<KERNEL_VERSION(2,6,8)
+@@ -3006,7 +3008,9 @@
+ static struct video_device qc_v4l_template = {
+ 	name:		"QuickCam USB",
+ 	type:		VID_TYPE_CAPTURE | VID_TYPE_SUBCAPTURE,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
+ 	hardware:	VID_HARDWARE_QCAM_USB,
++#endif
+ 	minor:		-1,
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
+ 	release:	qc_v4l_release,
diff --git a/package/qc-usb/patches/001-linux_autoconf.patch b/package/qc-usb/patches/001-linux_autoconf.patch
deleted file mode 100644
index a9df4ff9a..000000000
--- a/package/qc-usb/patches/001-linux_autoconf.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: qc-usb-0.6.5/qc-memory.c
-===================================================================
---- qc-usb-0.6.5.orig/qc-memory.c	2007-06-04 13:22:52.398889440 +0200
-+++ qc-usb-0.6.5/qc-memory.c	2007-06-04 13:22:52.469878648 +0200
-@@ -27,7 +27,7 @@
-  */
- /* }}} */
- /* {{{ [fold] Includes */
--#include <linux/config.h>
-+#include <linux/autoconf.h>
- #include <linux/version.h>
- 
- #ifdef CONFIG_SMP
-Index: qc-usb-0.6.5/quickcam.h
-===================================================================
---- qc-usb-0.6.5.orig/quickcam.h	2007-06-04 13:22:52.404888528 +0200
-+++ qc-usb-0.6.5/quickcam.h	2007-06-04 13:22:52.470878496 +0200
-@@ -76,7 +76,7 @@
- 
- #ifdef __KERNEL__
- 
--#include <linux/config.h>
-+#include <linux/autoconf.h>
- #include <linux/version.h>
- 
- #ifdef CONFIG_SMP
-- 
2.20.1