summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-08-09 20:36:05 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-08-09 20:36:05 +0000
commit89695426e75da1a95cc1284c9e5ee8e02bce4b77 (patch)
tree6af3a7ac1a7c6812f8d4ea81da94ce90aa18d8a3
parent53f304adaef212e03bd8bdbaf604c80666a468db (diff)
move some webcam/sound related stuff from trunk to packages
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@12260 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/alsa/Makefile68
-rw-r--r--package/alsa/files/alsa.modules10
-rw-r--r--package/alsa/patches/100-compile_fix.patch19
-rw-r--r--package/alsa/patches/110-cp_command.patch13
-rw-r--r--package/alsa/patches/120-sndfops.patch13
-rw-r--r--package/gspcav1/Makefile39
-rw-r--r--package/linux-uvc/Makefile43
-rw-r--r--package/nw802-2.4/Makefile45
-rw-r--r--package/nw802-2.4/patches/001-linux_2_6_cvs.patch2980
-rw-r--r--package/nw802-2.4/patches/100-compile_fix.patch134
-rw-r--r--package/ov51x-jpeg/Makefile76
-rw-r--r--package/ov51x-jpeg/patches/100-compile_fix.patch20
-rw-r--r--package/spca5xx-le/Makefile41
-rw-r--r--package/spca5xx-le/patches/100-compile_pud_shift.patch21
-rw-r--r--package/spca5xx-le/patches/101-linux_2_6.patch13
-rw-r--r--package/spca5xx-view/Makefile51
-rw-r--r--package/spca5xx-view/files/servfox.config4
-rw-r--r--package/spca5xx-view/files/servfox.init31
18 files changed, 0 insertions, 3621 deletions
diff --git a/package/alsa/Makefile b/package/alsa/Makefile
deleted file mode 100644
index 8dc7b871a4..0000000000
--- a/package/alsa/Makefile
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-# Copyright (C) 2006 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-# $Id$
-
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=alsa-driver
-PKG_VERSION:=1.0.14rc1
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=ftp://ftp.alsa-project.org/pub/driver/
-PKG_MD5SUM:=4cff99be4b225e96663fbd61cabe3182
-
-include $(INCLUDE_DIR)/package.mk
-
-define KernelPackage/alsa
- SUBMENU:=Other modules
- DEPENDS:=@USB_SUPPORT @LINUX_2_4
- TITLE:=Advanced Linux Sound Architecture
- FILES:=$(PKG_BUILD_DIR)/modules/*.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD=$(call AutoLoad,70,$(shell cat ./files/alsa.modules))
-endef
-
-ifeq ($(KERNEL),2.4)
- ifeq ($(LINUX_KARCH),i386)
- KERNEL_C_OPTS:= -Os -mpreferred-stack-boundary=2 -march=i486 -fno-unit-at-a-time
- endif
- ifeq ($(LINUX_KARCH),mips)
- KERNEL_C_OPTS:= -Os -G 0 -mlong-calls -mno-abicalls -fno-pic -finline-limit=100000 -mabi=32 -march=mips32 -Wa,-32 -Wa,-march=mips32 -Wa,-mips32 -Wa,--trap
- endif
-endif
-ifeq ($(LINUX_KARCH),i386)
- KERNEL_C_INCS:= -I$(LINUX_DIR)/include/asm-i386/mach-generic -I$(LINUX_DIR)/include/asm-i386/mach-default
-endif
-ifeq ($(LINUX_KARCH),mips)
- KERNEL_C_INCS:= -I$(LINUX_DIR)/include/asm-mips/mach-generic
-endif
-
-CONFIGURE_VARS:= \
- CFLAGS="$(KERNEL_C_INCS)"
-
-CONFIGURE_ARGS:= \
- --with-build="$(LINUX_DIR)" \
- --with-kernel="$(LINUX_DIR)" \
- --with-cross="$(KERNEL_CROSS)" \
- --with-redhat=no \
- --with-suse=no \
- --with-oss=yes \
- --with-isapnp=no \
- --with-sequencer=no \
- --with-cards=usb-audio
-
-define Build/Compile
- $(MAKE) -C $(PKG_BUILD_DIR) \
- ARCH="$(LINUX_KARCH)" \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- c_opts="$(KERNEL_C_OPTS)" \
- CP="$(CP)" \
- all
-endef
-
-$(eval $(call KernelPackage,alsa))
diff --git a/package/alsa/files/alsa.modules b/package/alsa/files/alsa.modules
deleted file mode 100644
index 6b16c8c586..0000000000
--- a/package/alsa/files/alsa.modules
+++ /dev/null
@@ -1,10 +0,0 @@
-snd-page-alloc
-snd
-snd-timer
-snd-pcm
-snd-rawmidi
-snd-usb-lib
-snd-hwdep
-snd-usb-audio
-snd-mixer-oss
-snd-pcm-oss
diff --git a/package/alsa/patches/100-compile_fix.patch b/package/alsa/patches/100-compile_fix.patch
deleted file mode 100644
index edc15fea89..0000000000
--- a/package/alsa/patches/100-compile_fix.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Index: alsa-driver-1.0.14rc1/include/adriver.h
-===================================================================
---- alsa-driver-1.0.14rc1.orig/include/adriver.h 2007-06-04 13:22:44.887031416 +0200
-+++ alsa-driver-1.0.14rc1/include/adriver.h 2007-06-04 13:22:44.956020928 +0200
-@@ -514,7 +514,7 @@
- #endif /* < 2.6.0 */
-
- /* workarounds for USB API */
--#if defined(SND_NEED_USB_WRAPPER) && (defined(CONFIG_USB) || defined(CONFIG_USB_MODULE))
-+#if 1
-
- #include <linux/usb.h>
-
-@@ -1360,4 +1360,5 @@
- #endif
- #endif
-
-+#undef info /* used in several structs */
- #endif /* __SOUND_LOCAL_DRIVER_H */
diff --git a/package/alsa/patches/110-cp_command.patch b/package/alsa/patches/110-cp_command.patch
deleted file mode 100644
index f9719b5741..0000000000
--- a/package/alsa/patches/110-cp_command.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: alsa-driver-1.0.14rc1/Makefile
-===================================================================
---- alsa-driver-1.0.14rc1.orig/Makefile 2007-06-04 13:22:44.865034760 +0200
-+++ alsa-driver-1.0.14rc1/Makefile 2007-06-04 13:22:45.149991440 +0200
-@@ -115,7 +115,7 @@
- if [ ! -d include/sound -a ! -L include/sound ]; then \
- ln -sf ../alsa-kernel/include include/sound ; \
- fi
-- cp -puvf include/version.h include/sound/version.h
-+ $(CP) include/version.h include/sound/version.h
-
- utils/mod-deps: utils/mod-deps.c
- gcc utils/mod-deps.c -o utils/mod-deps
diff --git a/package/alsa/patches/120-sndfops.patch b/package/alsa/patches/120-sndfops.patch
deleted file mode 100644
index bc43eb5db4..0000000000
--- a/package/alsa/patches/120-sndfops.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: alsa-driver-1.0.14rc1/alsa-kernel/core/sound.c
-===================================================================
---- alsa-driver-1.0.14rc1.orig/alsa-kernel/core/sound.c 2007-07-11 12:15:11.408530571 +0200
-+++ alsa-driver-1.0.14rc1/alsa-kernel/core/sound.c 2007-07-11 12:15:26.421386105 +0200
-@@ -171,7 +171,7 @@
- return err;
- }
-
--static struct file_operations snd_fops =
-+struct file_operations snd_fops =
- {
- .owner = THIS_MODULE,
- .open = snd_open
diff --git a/package/gspcav1/Makefile b/package/gspcav1/Makefile
deleted file mode 100644
index 0a1bad507e..0000000000
--- a/package/gspcav1/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# Copyright (C) 2006 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-# $Id$
-
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=gspcav1
-PKG_VERSION:=20071224
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://mxhaard.free.fr/spca50x/Download
-PKG_MD5SUM:=14853ba1f4edc1e685039fca56e5ebf
-
-include $(INCLUDE_DIR)/package.mk
-
-define KernelPackage/video-gspca
- SUBMENU:=Video Support
- TITLE:=SPCA5xx based USB webcam support
- URL:=http://mxhaard.free.fr/
- DEPENDS:=@LINUX_2_6 @USB_SUPPORT +kmod-usb-core kmod-video-core
- FILES:=$(PKG_BUILD_DIR)/gspca.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,90,gspca)
-endef
-
-define Build/Compile
- $(MAKE) -C $(LINUX_DIR) \
- ARCH="$(LINUX_KARCH)" \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- SUBDIRS="$(PKG_BUILD_DIR)" \
- modules
-endef
-
-$(eval $(call KernelPackage,video-gspca))
diff --git a/package/linux-uvc/Makefile b/package/linux-uvc/Makefile
deleted file mode 100644
index d146520dad..0000000000
--- a/package/linux-uvc/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# Copyright (C) 2007 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-# $Id$
-
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=linux-uvc
-PKG_REV:=215
-PKG_VERSION:=r$(PKG_REV)
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://svn.berlios.de/svnroot/repos/linux-uvc/linux-uvc/trunk/
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=$(PKG_REV)
-PKG_SOURCE_PROTO:=svn
-
-include $(INCLUDE_DIR)/package.mk
-
-define KernelPackage/video-uvc
- SUBMENU:=Video Support
- TITLE:=USB Video Class (UVC) support
- URL:=http://linux-uvc.berlios.de/
- DEPENDS:=@LINUX_2_6 @USB_SUPPORT +kmod-usb-core kmod-video-core
- FILES:=$(PKG_BUILD_DIR)/uvcvideo.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,90,uvcvideo)
-endef
-
-define Build/Compile
- echo "#define DRIVER_VERSION \"SVN $(PKG_VERSION)\"" > "$(PKG_BUILD_DIR)/version.h"
- $(MAKE) -C $(LINUX_DIR) \
- ARCH="$(LINUX_KARCH)" \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- SUBDIRS="$(PKG_BUILD_DIR)" \
- modules
-endef
-
-$(eval $(call KernelPackage,video-uvc))
diff --git a/package/nw802-2.4/Makefile b/package/nw802-2.4/Makefile
deleted file mode 100644
index ff39ad7720..0000000000
--- a/package/nw802-2.4/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-# Copyright (C) 2006-2008 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-# $Id$
-
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=nw802-2.4
-PKG_VERSION:=0.0.99
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=@SF/nw802
-PKG_MD5SUM:=bf3512efaa48cfa972b16318011c1963
-
-include $(INCLUDE_DIR)/package.mk
-
-define KernelPackage/video-nw8xx
- SUBMENU:=Video Support
- TITLE:=NW8xx based USB webcam support
- URL:=http://nw802.sourceforge.net/
- DEPENDS:=@LINUX_2_6 @USB_SUPPORT +kmod-usb-video kmod-video-core
- FILES:=$(PKG_BUILD_DIR)/nw8xx.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,70,nw8xx)
-endef
-
-define KernelPackage/video-nw8xx/description
- Kernel support for NW8xx based USB cameras.
-endef
-
-define Build/Compile
- ln -sf $(LINUX_DIR)/drivers/media/video/usbvideo/usbvideo.h \
- $(PKG_BUILD_DIR)/
- $(MAKE) -C $(LINUX_DIR) \
- ARCH="$(LINUX_KARCH)" \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- SUBDIRS="$(PKG_BUILD_DIR)" \
- modules
-endef
-
-$(eval $(call KernelPackage,video-nw8xx))
diff --git a/package/nw802-2.4/patches/001-linux_2_6_cvs.patch b/package/nw802-2.4/patches/001-linux_2_6_cvs.patch
deleted file mode 100644
index 694d62e8bb..0000000000
--- a/package/nw802-2.4/patches/001-linux_2_6_cvs.patch
+++ /dev/null
@@ -1,2980 +0,0 @@
-diff -Naur nw802-2.4-0.0.99/cvideopro.init nw802-2.4/cvideopro.init
---- nw802-2.4-0.0.99/cvideopro.init 1970-01-01 01:00:00.000000000 +0100
-+++ nw802-2.4/cvideopro.init 2003-10-21 18:29:27.000000000 +0200
-@@ -0,0 +1,107 @@
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x04 } },
-+ { 0x0000, 0x0000, 0x0040,
-+ { 0x54, 0x96, 0x98, 0xf9, 0x02, 0x18, 0x00, 0x4c,
-+ 0x0f, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
-+ 0x00, 0x0b, 0x00, 0x1b, 0x00, 0xc8, 0x00, 0xf4,
-+ 0x05, 0xb4, 0x00, 0xcc, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0xa2, 0x00, 0xc6, 0x00, 0x60, 0x00, 0xc6,
-+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 } },
-+ { 0x0040, 0x0000, 0x0040,
-+ { 0x00, 0xae, 0x00, 0xd2, 0x00, 0xae, 0x00, 0xd2,
-+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0xa8, 0x00, 0xc0, 0x00, 0x66, 0x00, 0xc0,
-+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x0a, 0x00, 0x54, 0x00, 0x0a, 0x00, 0x54,
-+ 0x00, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6,
-+ 0x00, 0x5d, 0x00, 0xc7, 0x00, 0x7e, 0x00, 0x30 } },
-+ { 0x0080, 0x0000, 0x001f,
-+ { 0x98, 0x43, 0x3f, 0x0d, 0x88, 0x20, 0x80, 0x3f,
-+ 0x47, 0xaf, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11,
-+ 0x00, 0x0c, 0x02, 0x0c, 0x00, 0x1c, 0x00, 0x94,
-+ 0x00, 0x10, 0x06, 0x24, 0x00, 0x4a, 0x00 } },
-+ { 0x0200, 0x0000, 0x0012,
-+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
-+ 0x40, 0x20 } },
-+ { 0x0300, 0x0000, 0x0003,
-+ { 0x03, 0x00, 0x00 } },
-+ { 0x0400, 0x0000, 0x0007,
-+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0xff, 0x00 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x09, 0x99 } },
-+ { 0x0800, 0x0000, 0x0015,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
-+ { 0x1000, 0x0000, 0x0040,
-+ { 0xa0, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
-+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x49, 0x13, 0x00, 0x00, 0xe0, 0x00, 0x0c,
-+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
-+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
-+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
-+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
-+ { 0x1040, 0x0000, 0x0040,
-+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
-+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
-+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
-+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
-+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
-+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
-+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
-+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
-+ { 0x1080, 0x0000, 0x001b,
-+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x82,
-+ 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
-+ 0x01, 0xf0, 0x00 } },
-+ { 0x0200, 0x0000, 0x0011,
-+ { 0x3c, 0x50, 0x8c, 0x3c, 0x50, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x3f, 0x3f, 0x06, 0xf2, 0x8f, 0xf0,
-+ 0x40 } },
-+ { 0x101a, 0x0000, 0x0001,
-+ { 0x03 } },
-+ { 0x1000, 0x0000, 0x0001,
-+ { 0xac } },
-+ { 0x1085, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
-+ { 0x101b, 0x0000, 0x0002,
-+ { 0x3b, 0x01 } },
-+ { 0x1011, 0x0000, 0x0008,
-+ { 0x61, 0x00, 0xe0, 0x00, 0x49, 0x00, 0xa8, 0x00 } },
-+ { 0x101f, 0x0000, 0x0006,
-+ { 0x01, 0x20, 0x02, 0xe8, 0x03, 0x00 } },
-+ { 0x101d, 0x0000, 0x0002,
-+ { 0x40, 0x06 } },
-+ { 0x100e, 0x0000, 0x0001,
-+ { 0x08 } },
-+ { 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x0f, 0x46, 0x62, 0x76, 0x86, 0x94, 0xa0,
-+ 0xab, 0xb6, 0xbf, 0xc8, 0xcf, 0xd7, 0xdc, 0xdc,
-+ 0xdc } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x100f, 0x0000, 0x0002,
-+ { 0x12, 0x12 } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x0c } },
-+ { 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x0f, 0x46, 0x62, 0x76, 0x86, 0x94, 0xa0,
-+ 0xab, 0xb6, 0xbf, 0xc8, 0xcf, 0xd7, 0xdc, 0xdc,
-+ 0xdc } },
-+ { 0x100b, 0x0000, 0x0001,
-+ { 0x09 } },
-+ { 0x100d, 0x0000, 0x0001,
-+ { 0x10 } }, // Exposure
-+ { 0x100c, 0x0000, 0x0001,
-+ { 0x2f } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x03 } },
-+ { 0x0404, 0x0000, 0x0001,
-+ { 0x00 } }
-+
-diff -Naur nw802-2.4-0.0.99/d-link-350c.init nw802-2.4/d-link-350c.init
---- nw802-2.4-0.0.99/d-link-350c.init 1970-01-01 01:00:00.000000000 +0100
-+++ nw802-2.4/d-link-350c.init 2003-09-23 20:15:30.000000000 +0200
-@@ -0,0 +1,107 @@
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x04 } },
-+ { 0x0000, 0x0000, 0x0040,
-+ { 0x10, 0x00, 0x00, 0x92, 0x03, 0x10, 0x00, 0x4d,
-+ 0x0f, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0xce, 0x00, 0xf4,
-+ 0x05, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
-+ 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
-+ { 0x0040, 0x0000, 0x0040,
-+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
-+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
-+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
-+ { 0x0080, 0x0000, 0x001f,
-+ { 0xb4, 0x6f, 0x3f, 0x0f, 0x88, 0x20, 0x68, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11,
-+ 0x00, 0x0c, 0x02, 0x01, 0x00, 0x16, 0x00, 0x94,
-+ 0x00, 0x10, 0x06, 0x10, 0x00, 0x36, 0x00 } },
-+ { 0x0200, 0x0000, 0x0012,
-+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
-+ 0x40, 0x20 } },
-+ { 0x0300, 0x0000, 0x0003,
-+ { 0x03, 0x00, 0x00 } },
-+ { 0x0400, 0x0000, 0x0007,
-+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x21, 0x00 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x09, 0x99 } },
-+ { 0x0800, 0x0000, 0x0015,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
-+ { 0x1000, 0x0000, 0x0040,
-+ { 0xa1, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
-+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x49, 0x13, 0x00, 0x00, 0xc0, 0x00, 0x14,
-+ 0x02, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00,
-+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
-+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
-+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
-+ { 0x1040, 0x0000, 0x0040,
-+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
-+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
-+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
-+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
-+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
-+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
-+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
-+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
-+ { 0x1080, 0x0000, 0x001b,
-+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x01, 0x82,
-+ 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
-+ 0x01, 0xf0, 0x00 } },
-+ { 0x0200, 0x0000, 0x0011,
-+ { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x3f, 0x10, 0x02, 0xf2, 0x8f, 0x78,
-+ 0x40 } },
-+ { 0x101a, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x1000, 0x0000, 0x0001,
-+ { 0xad } },
-+ { 0x0000, 0x0000, 0x0001,
-+ { 0x08 } },
-+ { 0x1085, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
-+ { 0x101b, 0x0000, 0x0002,
-+ { 0x00, 0x00 } },
-+ { 0x1011, 0x0000, 0x0008,
-+ { 0x51, 0x00, 0xf0, 0x00, 0x3d, 0x00, 0xb4, 0x00 } },
-+ { 0x101d, 0x0000, 0x0008,
-+ { 0x40, 0x06, 0x01, 0x20, 0x02, 0xe8, 0x03, 0x00 } },
-+ { 0x100e, 0x0000, 0x0001,
-+ { 0x20 } },
-+ { 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x07, 0x1e, 0x38, 0x4d, 0x60, 0x70, 0x7f,
-+ 0x8e, 0x9b, 0xa8, 0xb4, 0xbf, 0xca, 0xd5, 0xdf,
-+ 0xea } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x100f, 0x0000, 0x0002,
-+ { 0x11, 0x11 } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x10 } },
-+ { 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x07, 0x1e, 0x38, 0x4d, 0x60, 0x70, 0x7f,
-+ 0x8e, 0x9b, 0xa8, 0xb4, 0xbf, 0xca, 0xd5, 0xdf,
-+ 0xea } },
-+ { 0x100b, 0x0000, 0x0001,
-+ { 0x19 } },
-+ { 0x100d, 0x0000, 0x0001,
-+ { 0x10 } },
-+ { 0x100c, 0x0000, 0x0001,
-+ { 0x1e } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x03 } },
-+ { 0x0404, 0x0000, 0x0001,
-+ { 0x00 } }
-+
-diff -Naur nw802-2.4-0.0.99/DS3303u.init nw802-2.4/DS3303u.init
---- nw802-2.4-0.0.99/DS3303u.init 1970-01-01 01:00:00.000000000 +0100
-+++ nw802-2.4/DS3303u.init 2003-11-13 22:48:31.000000000 +0100
-@@ -0,0 +1,108 @@
-+ { 0x0506, 0x0000, 0x0001,
-+ { 0x04 } },
-+ { 0x0000, 0x0000, 0x0040,
-+ { 0x16, 0x00, 0x00, 0xf9, 0x02, 0x11, 0x00, 0x0e,
-+ 0x01, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0xce, 0x00, 0xf4,
-+ 0x05, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
-+ 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
-+ { 0x0040, 0x0000, 0x0040,
-+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
-+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
-+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
-+ { 0x0080, 0x0000, 0x0022,
-+ { 0xb4, 0x6f, 0x3f, 0x0f, 0x88, 0x20, 0x08, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xa9, 0xa8, 0x1f, 0x00,
-+ 0x0d, 0x02, 0x07, 0x00, 0x01, 0x00, 0x19, 0x00,
-+ 0xf2, 0x00, 0x18, 0x06, 0x10, 0x06, 0x10, 0x00,
-+ 0x36, 0x00 } },
-+ { 0x0200, 0x0000, 0x0012,
-+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0x50,
-+ 0x40, 0x20 } },
-+ { 0x0300, 0x0000, 0x0003,
-+ { 0x03, 0x00, 0x00 } },
-+ { 0x0500, 0x0000, 0x0007,
-+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0xff, 0x00 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x09, 0x99 } },
-+ { 0x0800, 0x0000, 0x0015,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
-+ { 0x1000, 0x0000, 0x0040,
-+ { 0x2f, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x10, 0x1f, 0x10, 0x08, 0x0a,
-+ 0x0a, 0x51, 0x00, 0xf1, 0x00, 0x3c, 0x00, 0xb4,
-+ 0x00, 0x01, 0x15, 0xfd, 0x07, 0x3d, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x8c, 0x04, 0x01, 0x20,
-+ 0x02, 0x00, 0x03, 0x00, 0x20, 0x00, 0x00, 0x00,
-+ 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08, 0x03,
-+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06, 0xf7 } },
-+ { 0x1040, 0x0000, 0x0040,
-+ { 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80, 0x80,
-+ 0x00, 0x2d, 0x46, 0x58, 0x67, 0x74, 0x7f, 0x88,
-+ 0x94, 0x9d, 0xa6, 0xae, 0xb5, 0xbd, 0xc4, 0xcb,
-+ 0xd1, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54, 0x64,
-+ 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2, 0xe2,
-+ 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
-+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
-+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43 } },
-+ { 0x1080, 0x0000, 0x0022,
-+ { 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
-+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x3f, 0x01,
-+ 0x00, 0x00, 0xef, 0x00, 0x02, 0x0a, 0x82, 0x02,
-+ 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40, 0x01,
-+ 0xf0, 0x00 } },
-+ { 0x0200, 0x0000, 0x0011,
-+ { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x3f, 0x3f, 0x00, 0xf2, 0x8f, 0x81,
-+ 0x40 } },
-+ { 0x101a, 0x0000, 0x0001,
-+ { 0x15 } },
-+ { 0x1000, 0x0000, 0x0001,
-+ { 0x2f } },
-+ { 0x108c, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
-+ { 0x101b, 0x0000, 0x0002,
-+ { 0x00, 0x00 } },
-+ { 0x1011, 0x0000, 0x0008,
-+ { 0x61, 0x00, 0xe0, 0x00, 0x49, 0x00, 0xa8, 0x00 } },
-+ { 0x1026, 0x0000, 0x0006,
-+ { 0x01, 0x20, 0x02, 0xe8, 0x03, 0x00 } },
-+ { 0x1024, 0x0000, 0x0002,
-+ { 0x40, 0x06 } },
-+ { 0x100e, 0x0000, 0x0001,
-+ { 0x08 } },
-+ { 0x1048, 0x0000, 0x0011,
-+ { 0x00, 0x15, 0x40, 0x67, 0x84, 0x9d, 0xb2, 0xc6,
-+ 0xd6, 0xe7, 0xf6, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
-+ 0xf9 } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x100f, 0x0000, 0x0002,
-+ { 0x16, 0x16 } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x0c } },
-+ { 0x1048, 0x0000, 0x0011,
-+ { 0x00, 0x15, 0x40, 0x67, 0x84, 0x9d, 0xb2, 0xc6,
-+ 0xd6, 0xe7, 0xf6, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
-+ 0xf9 } },
-+ { 0x100b, 0x0000, 0x0001,
-+ { 0x26 } },
-+ { 0x100d, 0x0000, 0x0001,
-+ { 0x10 } },
-+ { 0x100c, 0x0000, 0x0001,
-+ { 0x1c } },
-+ { 0x0506, 0x0000, 0x0001,
-+ { 0x03 } },
-+ { 0x0504, 0x0000, 0x0001,
-+ { 0x00 } },
-diff -Naur nw802-2.4-0.0.99/kr651us.init nw802-2.4/kr651us.init
---- nw802-2.4-0.0.99/kr651us.init 1970-01-01 01:00:00.000000000 +0100
-+++ nw802-2.4/kr651us.init 2007-01-03 21:13:23.000000000 +0100
-@@ -0,0 +1,106 @@
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x04 } },
-+ { 0x0000, 0x0000, 0x0040,
-+ { 0x44, 0x96, 0x98, 0xf9, 0x02, 0x18, 0x00, 0x48,
-+ 0x0f, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
-+ 0x00, 0x0b, 0x00, 0x1b, 0x00, 0xc8, 0x00, 0xf4,
-+ 0x05, 0xb4, 0x00, 0xcc, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0xa2, 0x00, 0xc6, 0x00, 0x60, 0x00, 0xc6,
-+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 } },
-+ { 0x0040, 0x0000, 0x0040,
-+ { 0x00, 0xae, 0x00, 0xd2, 0x00, 0xae, 0x00, 0xd2,
-+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0xa8, 0x00, 0xc0, 0x00, 0x66, 0x00, 0xc0,
-+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x0a, 0x00, 0x54, 0x00, 0x0a, 0x00, 0x54,
-+ 0x00, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6,
-+ 0x00, 0x5d, 0x00, 0xc7, 0x00, 0x7e, 0x00, 0x30 } },
-+ { 0x0080, 0x0000, 0x001f,
-+ { 0x18, 0x43, 0x3f, 0x0d, 0x88, 0x20, 0x80, 0x3f,
-+ 0x47, 0xaf, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11,
-+ 0x00, 0x0c, 0x02, 0x0c, 0x00, 0x1c, 0x00, 0x94,
-+ 0x00, 0x10, 0x06, 0x24, 0x00, 0x4a, 0x00 } },
-+ { 0x0200, 0x0000, 0x0012,
-+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
-+ 0x40, 0x20 } },
-+ { 0x0300, 0x0000, 0x0003,
-+ { 0x02, 0x00, 0x00 } },
-+ { 0x0400, 0x0000, 0x0007,
-+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x21, 0x00 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x09, 0x99 } },
-+ { 0x0800, 0x0000, 0x0015,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
-+ { 0x1000, 0x0000, 0x0040,
-+ { 0xa0, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
-+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x49, 0x13, 0x00, 0x00, 0xe0, 0x00, 0x0c,
-+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
-+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
-+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
-+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
-+ { 0x1040, 0x0000, 0x0040,
-+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
-+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
-+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
-+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
-+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
-+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
-+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
-+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
-+ { 0x1080, 0x0000, 0x001b,
-+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x82,
-+ 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
-+ 0x01, 0xf0, 0x00 } },
-+ { 0x0200, 0x0000, 0x0011,
-+ { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x3f, 0x10, 0x02, 0xf2, 0x8f, 0x78,
-+ 0x40 } },
-+ { 0x101a, 0x0000, 0x0001,
-+ { 0x03 } },
-+ { 0x1000, 0x0000, 0x0001,
-+ { 0xac } },
-+ { 0x1085, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
-+ { 0x101b, 0x0000, 0x0002,
-+ { 0x00, 0x00 } },
-+ { 0x1011, 0x0000, 0x0008,
-+ { 0x29, 0x00, 0x18, 0x01, 0x1f, 0x00, 0xd2, 0x00 } },
-+ { 0x101d, 0x0000, 0x0006,
-+ { 0xe0, 0x00, 0x0c, 0x00, 0x52, 0x00 } },
-+ { 0x101d, 0x0000, 0x0002,
-+ { 0x28, 0x01 } },
-+ { 0x100e, 0x0000, 0x0001,
-+ { 0x08 } },
-+ { 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x11, 0x3c, 0x5c, 0x74, 0x88, 0x99, 0x8a,
-+ 0xb7, 0xc4, 0xd0, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc,
-+ 0xdc } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x100f, 0x0000, 0x0002,
-+ { 0x0c, 0x0c } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x0c } },
-+ { 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x11, 0x3c, 0x5c, 0x74, 0x88, 0x99, 0x8a,
-+ 0xb7, 0xc4, 0xd0, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc,
-+ 0xdc } },
-+ { 0x100b, 0x0000, 0x0001,
-+ { 0x10 } },
-+ { 0x100d, 0x0000, 0x0001,
-+ { 0x10 } },
-+ { 0x100c, 0x0000, 0x0001,
-+ { 0x2b } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x03 } },
-+ { 0x0404, 0x0000, 0x0001,
-+ { 0x00 } }
-diff -Naur nw802-2.4-0.0.99/kritter.init nw802-2.4/kritter.init
---- nw802-2.4-0.0.99/kritter.init 1970-01-01 01:00:00.000000000 +0100
-+++ nw802-2.4/kritter.init 2004-03-06 20:28:40.000000000 +0100
-@@ -0,0 +1,107 @@
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x06 } },
-+ { 0x0000, 0x0000, 0x0040,
-+ { 0x44, 0x96, 0x98, 0x94, 0x03, 0x18, 0x00, 0x48,
-+ 0x0f, 0x1e, 0x00, 0x0c, 0x02, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
-+ 0x00, 0x0b, 0x00, 0x1b, 0x00, 0x0a, 0x01, 0x28,
-+ 0x07, 0xb4, 0x00, 0xcc, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0xa2, 0x00, 0xc6, 0x00, 0x60, 0x00, 0xc6,
-+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 } },
-+ { 0x0040, 0x0000, 0x0040,
-+ { 0x00, 0xae, 0x00, 0xd2, 0x00, 0xae, 0x00, 0xd2,
-+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0xa8, 0x00, 0xc0, 0x00, 0x66, 0x00, 0xc0,
-+ 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x0a, 0x00, 0x54, 0x00, 0x0a, 0x00, 0x54,
-+ 0x00, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6,
-+ 0x00, 0x5d, 0x00, 0x0e, 0x00, 0x7e, 0x00, 0x30 } },
-+ { 0x0080, 0x0000, 0x001f,
-+ { 0x18, 0x43, 0x3f, 0x0d, 0x88, 0x20, 0x80, 0x3f,
-+ 0x47, 0xaf, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11,
-+ 0x00, 0x0b, 0x02, 0x0c, 0x00, 0x1c, 0x00, 0x94,
-+ 0x00, 0x10, 0x06, 0x24, 0x00, 0x4a, 0x00 } },
-+ { 0x0200, 0x0000, 0x0012,
-+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
-+ 0x40, 0x20 } },
-+ { 0x0300, 0x0000, 0x0003,
-+ { 0x02, 0x00, 0x00 } },
-+ { 0x0400, 0x0000, 0x0007,
-+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0xff, 0x00 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x09, 0x99 } },
-+ { 0x0800, 0x0000, 0x0015,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
-+ { 0x1000, 0x0000, 0x0040,
-+ { 0xa0, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
-+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x49, 0x13, 0x00, 0x00, 0xe0, 0x00, 0x0c,
-+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
-+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
-+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
-+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
-+ { 0x1040, 0x0000, 0x0040,
-+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
-+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
-+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
-+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
-+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
-+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
-+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
-+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
-+ { 0x1080, 0x0000, 0x001b,
-+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x82,
-+ 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
-+ 0x01, 0xf0, 0x00 } },
-+ { 0x0200, 0x0000, 0x0011,
-+ { 0x3c, 0x50, 0x8c, 0x3c, 0x50, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x3f, 0x3f, 0x06, 0xf2, 0x8f, 0xf0,
-+ 0x40 } },
-+ { 0x101a, 0x0000, 0x0001,
-+ { 0x03 } },
-+ { 0x1000, 0x0000, 0x0001,
-+ { 0xaf } },
-+ { 0x1085, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
-+ { 0x101b, 0x0000, 0x0002,
-+ { 0x3b, 0x01 } },
-+ { 0x1011, 0x0000, 0x0008,
-+ { 0x61, 0x00, 0xe0, 0x00, 0x49, 0x00, 0xa8, 0x00 } },
-+ { 0x101d, 0x0000, 0x0006,
-+ { 0xe0, 0x00, 0x0c, 0x00, 0x52, 0x00 } },
-+ { 0x101d, 0x0000, 0x0002,
-+ { 0x00, 0x00 } },
-+ { 0x100e, 0x0000, 0x0001,
-+ { 0x08 } },
-+ { 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x0d, 0x36, 0x4e, 0x60, 0x6f, 0x7b, 0x86,
-+ 0x90, 0x98, 0xa1, 0xa9, 0xb1, 0xb7, 0xbe, 0xc4,
-+ 0xcb } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x100f, 0x0000, 0x0002,
-+ { 0x0d, 0x0d } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x02 } },
-+ { 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x0d, 0x36, 0x4e, 0x60, 0x6f, 0x7b, 0x86,
-+ 0x90, 0x98, 0xa1, 0xa9, 0xb1, 0xb7, 0xbe, 0xc4,
-+ 0xcb } },
-+ { 0x100b, 0x0000, 0x0001,
-+ { 0x17 } },
-+ { 0x100d, 0x0000, 0x0001,
-+ { 0x10 } },
-+ { 0x100c, 0x0000, 0x0001,
-+ { 0x1e } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x03 } },
-+ { 0x0404, 0x0000, 0x0001,
-+ { 0x00 } }
-+
-diff -Naur nw802-2.4-0.0.99/LICENSE nw802-2.4/LICENSE
---- nw802-2.4-0.0.99/LICENSE 2003-08-20 23:34:39.000000000 +0200
-+++ nw802-2.4/LICENSE 2004-07-06 09:43:53.000000000 +0200
-@@ -55,7 +55,7 @@
-
- The precise terms and conditions for copying, distribution and
- modification follow.
--
-+
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-@@ -110,7 +110,7 @@
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
--
-+
- These requirements apply to the modified work as a whole. If
- identifiable sections of that work are not derived from the Program,
- and can be reasonably considered independent and separate works in
-@@ -168,7 +168,7 @@
- access to copy the source code from the same place counts as
- distribution of the source code, even though third parties are not
- compelled to copy the source along with the object code.
--
-+
- 4. You may not copy, modify, sublicense, or distribute the Program
- except as expressly provided under this License. Any attempt
- otherwise to copy, modify, sublicense or distribute the Program is
-@@ -225,7 +225,7 @@
-
- This section is intended to make thoroughly clear what is believed to
- be a consequence of the rest of this License.
--
-+
- 8. If the distribution and/or use of the Program is restricted in
- certain countries either by patents or by copyrighted interfaces, the
- original copyright holder who places the Program under this License
-@@ -278,7 +278,7 @@
- POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
--
-+
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-diff -Naur nw802-2.4-0.0.99/Makefile nw802-2.4/Makefile
---- nw802-2.4-0.0.99/Makefile 2003-08-20 23:34:39.000000000 +0200
-+++ nw802-2.4/Makefile 2007-09-05 23:43:35.000000000 +0200
-@@ -1,29 +1,4 @@
--# GCC stuff
--GCCLIB=`dirname \`gcc -print-libgcc-file-name\``
--INCLUDES=-nostdinc -I /usr/src/linux/include -I ${GCCLIB}/include/ -include /usr/src/linux/include/linux/modversions.h
--#CFLAGS=-O2 -D__KERNEL__ -DMODULE -Wall -DMODVERSIONS -nostdinc -ggdb
--CFLAGS=-O3 -D__KERNEL__ -DMODULE -Wall -DMODVERSIONS -funroll-loops -frerun-cse-after-loop -funroll-all-loops -fomit-frame-pointer
--#CFLAGS=-O3 -D__KERNEL__ -DMODULE -Wall -DMODVERSIONS -nostdinc -march=pentium4 -msse -msse2 -m3dnow -mmmx -mfpmath=sse -funroll-loops -frerun-cse-after-loop -funroll-all-loops -fomit-frame-pointer
--CC=gcc
-+KERNEL_SOURCE ?= /lib/modules/`uname -r`/build
-
--OBJ=nw802.o usbvideo.o nw8xx_regedit
--
--# Build rules
--
--all: $(OBJ)
--
--usbvideo.o: usbvideo.c usbvideo.h
-- $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $<
--
--nw8xx_jpgl.o: nw8xx_jpgl.c nw8xx_jpgl.h
-- $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $<
--
--nw802.o: nw802.c usbvideo.o nw8xx_jpgl.o nw802.init nw801.init nw800.init
-- $(CC) $(CFLAGS) $(INCLUDES) -c -o nw802_core.o $<
-- $(LD) -r -o $@ nw802_core.o nw8xx_jpgl.o
--
--nw8xx_regedit: nw8xx_regedit.c
-- $(CC) $(CFLAGS) `pkg-config gtk+-2.0 --cflags --libs` -o $@ $<
--
--clean:
-- rm -f *.so *.o *~ *.swp $(OBJ)
-+obj-m := nw8xx.o
-+nw8xx-objs := nw8xx_jpgl.o nw802.o
-diff -Naur nw802-2.4-0.0.99/mustek_300_mini.init nw802-2.4/mustek_300_mini.init
---- nw802-2.4-0.0.99/mustek_300_mini.init 1970-01-01 01:00:00.000000000 +0100
-+++ nw802-2.4/mustek_300_mini.init 2004-11-08 23:16:42.000000000 +0100
-@@ -0,0 +1,106 @@
-+{ 0x0406, 0x0000, 0x0001,
-+ { 0x04 } },
-+{ 0x0000, 0x0000, 0x0040,
-+ { 0x10, 0x00, 0x00, 0x92, 0x03, 0x10, 0x00, 0x4d,
-+ 0x0f, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0xce, 0x00, 0xf4,
-+ 0x05, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
-+ 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
-+{ 0x0040, 0x0000, 0x0040,
-+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
-+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
-+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
-+{ 0x0080, 0x0000, 0x001f,
-+ { 0xb4, 0x6f, 0x3f, 0x0f, 0x88, 0x20, 0x68, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11,
-+ 0x00, 0x0c, 0x02, 0x01, 0x00, 0x16, 0x00, 0x94,
-+ 0x00, 0x10, 0x06, 0xfc, 0x05, 0x0c, 0x06 } },
-+{ 0x0200, 0x0000, 0x0012,
-+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
-+ 0x40, 0x20 } },
-+{ 0x0300, 0x0000, 0x0003,
-+ { 0x03, 0x00, 0x00 } },
-+{ 0x0400, 0x0000, 0x0007,
-+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x21, 0x00 } },
-+{ 0x0600, 0x0000, 0x0002,
-+ { 0x09, 0x99 } },
-+{ 0x0800, 0x0000, 0x0015,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
-+{ 0x1000, 0x0000, 0x0040,
-+ { 0xa1, 0x02, 0x80, 0x00, 0x13, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
-+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x49, 0x13, 0x00, 0x00, 0xc0, 0x00, 0x14,
-+ 0x02, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00,
-+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
-+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
-+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
-+{ 0x1040, 0x0000, 0x0040,
-+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
-+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
-+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
-+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
-+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
-+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
-+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
-+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
-+{ 0x1080, 0x0000, 0x001b,
-+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x01, 0x82,
-+ 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
-+ 0x01, 0xf0, 0x00 } },
-+{ 0x0200, 0x0000, 0x0011,
-+ { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x3f, 0x10, 0x02, 0xf2, 0x8f, 0x78,
-+ 0x40 } },
-+{ 0x101a, 0x0000, 0x0001,
-+ { 0x00 } },
-+{ 0x1000, 0x0000, 0x0001,
-+ { 0xad } },
-+{ 0x0000, 0x0000, 0x0001,
-+ { 0x08 } },
-+{ 0x1085, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
-+{ 0x101b, 0x0000, 0x0002,
-+ { 0x00, 0x00 } },
-+{ 0x1011, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
-+{ 0x101d, 0x0000, 0x0008,
-+ { 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20 } },
-+{ 0x100e, 0x0000, 0x0001,
-+ { 0x0f } },
-+{ 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x0f, 0x29, 0x4a, 0x64, 0x7a, 0x8c, 0x9e,
-+ 0xad, 0xba, 0xc7, 0xd3, 0xde, 0xe8, 0xf1, 0xf9,
-+ 0xff } },
-+{ 0x100f, 0x0000, 0x0002,
-+ { 0x11, 0x11 } },
-+{ 0x1003, 0x0000, 0x0001,
-+ { 0x0c } },
-+{ 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x0f, 0x29, 0x4a, 0x64, 0x7a, 0x8c, 0x9e,
-+ 0xad, 0xba, 0xc7, 0xd3, 0xde, 0xe8, 0xf1, 0xf9,
-+ 0xff } },
-+{ 0x100b, 0x0000, 0x0001,
-+ { 0x1c } },
-+{ 0x100d, 0x0000, 0x0001,
-+ { 0x1a } },
-+{ 0x100c, 0x0000, 0x0001,
-+ { 0x34 } },
-+{ 0x0405, 0x0000, 0x0001,
-+ { 0x61 } },
-+{ 0x0404, 0x0000, 0x0001,
-+ { 0x40 } },
-+{ 0x0406, 0x0000, 0x0001,
-+ { 0x03 } }
-diff -Naur nw802-2.4-0.0.99/nw800.init nw802-2.4/nw800.init
---- nw802-2.4-0.0.99/nw800.init 2003-08-20 23:34:39.000000000 +0200
-+++ nw802-2.4/nw800.init 2004-10-30 11:48:13.000000000 +0200
-@@ -1,219 +1,219 @@
-- { 0x0500, 0x0000, 0x0001,
-- { 0x55 } },
-- { 0x109b, 0x0000, 0x0001,
-- { 0xaa } },
-- { 0x0502, 0x0000, 0x0001,
-- { 0x02 } },
-- { 0x0600, 0x0000, 0x0002,
-- { 0x04, 0xd9 } },
-- { 0x0505, 0x0000, 0x0001,
-- { 0x00 } },
-- { 0x0505, 0x0000, 0x0001,
-- { 0x01 } },
-- { 0x0406, 0x0000, 0x0001,
-- { 0x04 } },
-- { 0x0406, 0x0000, 0x0001,
-- { 0xc0 } },
-- { 0x0000, 0x0000, 0x0040,
-- { 0x10, 0x43, 0x00, 0xb4, 0x01, 0x10, 0x00, 0x4f,
-- 0xef, 0x0e, 0x00, 0x74, 0x01, 0x01, 0x00, 0x19,
-- 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
-- 0x00, 0x01, 0x00, 0x19, 0x00, 0x3e, 0x00, 0x24,
-- 0x03, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
-- 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
-- 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
-- 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
-- { 0x0040, 0x0000, 0x0040,
-- { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-- 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-- 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-- 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-- 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
-- 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
-- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
-- 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
-- { 0x0080, 0x0000, 0x001f,
-- { 0xa0, 0x48, 0xc3, 0x02, 0x88, 0x0c, 0x68, 0x00,
-- 0x00, 0x00, 0x00, 0x00, 0xa8, 0x06, 0x00, 0x08,
-- 0x00, 0x32, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
-- 0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
-- { 0x0200, 0x0000, 0x0012,
-- { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
-- 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
-- 0x40, 0x20 } },
-- { 0x0300, 0x0000, 0x0003,
-- { 0x03, 0x00, 0x00 } },
-- { 0x0400, 0x0000, 0x0007,
-- { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0xc0 } },
-- { 0x0500, 0x0000, 0x0006,
-- { 0xe8, 0x00, 0x00, 0x00, 0x20, 0x20 } },
-- { 0x0600, 0x0000, 0x001b,
-- { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00 } },
-- { 0x0800, 0x0000, 0x0015,
-- { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00, 0x00, 0x00 } },
-- { 0x1000, 0x0000, 0x0040,
-- { 0x83, 0x02, 0x20, 0x00, 0x13, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
-- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-- 0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
-- 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
-- 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
-- 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
-- { 0x1040, 0x0000, 0x0040,
-- { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
-- 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
-- 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
-- 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
-- 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
-- 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
-- 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
-- 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
-- { 0x1080, 0x0000, 0x001d,
-- { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x62,
-- 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
-- 0x01, 0x60, 0x01, 0x00, 0x00 } },
-- { 0x0404, 0x0000, 0x0001,
-- { 0xff } },
-- { 0x0406, 0x0000, 0x0001,
-- { 0xc4 } },
-- { 0x0406, 0x0000, 0x0001,
-- { 0xc0 } },
-- { 0x0000, 0x0000, 0x0040,
-- { 0x10, 0x43, 0x00, 0xb4, 0x01, 0x10, 0x00, 0x4f,
-- 0xef, 0x0e, 0x00, 0x74, 0x01, 0x01, 0x00, 0x19,
-- 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
-- 0x00, 0x01, 0x00, 0x19, 0x00, 0x3e, 0x00, 0x24,
-- 0x03, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
-- 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
-- 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
-- 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
-- { 0x0040, 0x0000, 0x0040,
-- { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-- 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-- 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-- 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-- 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
-- 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
-- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
-- 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
-- { 0x0080, 0x0000, 0x001f,
-- { 0xa0, 0x48, 0xc3, 0x02, 0x88, 0x0c, 0x68, 0x00,
-- 0x00, 0x00, 0x00, 0x00, 0xa8, 0x06, 0x00, 0x08,
-- 0x00, 0x32, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
-- 0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
-- { 0x0200, 0x0000, 0x0012,
-- { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
-- 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
-- 0x40, 0x20 } },
-- { 0x0300, 0x0000, 0x0003,
-- { 0x03, 0x00, 0x00 } },
-- { 0x0400, 0x0000, 0x0007,
-- { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0xc0 } },
-- { 0x0500, 0x0000, 0x0006,
-- { 0xe8, 0x00, 0x00, 0x00, 0x20, 0x20 } },
-- { 0x0600, 0x0000, 0x001b,
-- { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00 } },
-- { 0x0800, 0x0000, 0x0015,
-- { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00, 0x00, 0x00 } },
-- { 0x1000, 0x0000, 0x0040,
-- { 0x83, 0x02, 0x20, 0x00, 0x13, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
-- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-- 0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
-- 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
-- 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
-- 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
-- { 0x1040, 0x0000, 0x0040,
-- { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
-- 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
-- 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
-- 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
-- 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
-- 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
-- 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
-- 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
-- { 0x1080, 0x0000, 0x001d,
-- { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x62,
-- 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
-- 0x01, 0x60, 0x01, 0x00, 0x00 } },
-- { 0x0200, 0x0000, 0x0011,
-- { 0x48, 0x58, 0x9e, 0x48, 0x58, 0x00, 0x00, 0x00,
-- 0x00, 0x84, 0x36, 0x05, 0x01, 0xf2, 0x86, 0x65,
-- 0x40 } },
-- { 0x0080, 0x0000, 0x0001,
-- { 0xa0 } },
-- { 0x101a, 0x0000, 0x0001,
-- { 0x00 } },
-- { 0x0091, 0x0000, 0x0002,
-- { 0x6c, 0x01 } },
-- { 0x0003, 0x0000, 0x0002,
-- { 0xc8, 0x01 } },
-- { 0x101a, 0x0000, 0x0001,
-- { 0x00 } },
-- { 0x1000, 0x0000, 0x0001,
-- { 0x83 } },
-- { 0x108f, 0x0000, 0x000c,
-- { 0x62, 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01,
-- 0x20, 0x01, 0x60, 0x01 } },
-- { 0x1085, 0x0000, 0x0008,
-- { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
-- { 0x101b, 0x0000, 0x0002,
-- { 0x69, 0x00 } },
-- { 0x1011, 0x0000, 0x0008,
-- { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
-- { 0x0502, 0x0000, 0x0001,
-- { 0x02 } },
-- { 0x0600, 0x0000, 0x0002,
-- { 0x04, 0xd9 } },
-- { 0x0505, 0x0000, 0x0001,
-- { 0x20 } },
-- { 0x0505, 0x0000, 0x0001,
-- { 0x21 } },
-- { 0x100e, 0x0000, 0x0001,
-- { 0x08 } },
-- { 0x1041, 0x0000, 0x0011,
-- { 0x00, 0x08, 0x21, 0x3d, 0x52, 0x63, 0x75, 0x83,
-- 0x91, 0x9e, 0xaa, 0xb6, 0xc1, 0xcc, 0xd6, 0xe0,
-- 0xea } },
-- { 0x1003, 0x0000, 0x0001,
-- { 0x00 } },
-- { 0x100f, 0x0000, 0x0002,
-- { 0x13, 0x13 } },
-- { 0x1003, 0x0000, 0x0001,
-- { 0x14 } },
-- { 0x1041, 0x0000, 0x0011,
-- { 0x00, 0x08, 0x21, 0x3d, 0x52, 0x63, 0x75, 0x83,
-- 0x91, 0x9e, 0xaa, 0xb6, 0xc1, 0xcc, 0xd6, 0xe0,
-- 0xea } },
-- { 0x100b, 0x0000, 0x0001,
-- { 0x14 } },
-- { 0x100d, 0x0000, 0x0001,
-- { 0x20 } },
-- { 0x100c, 0x0000, 0x0001,
-- { 0x34 } },
-- { 0x0406, 0x0000, 0x0001,
-- { 0xc3 } },
-- { 0x0404, 0x0000, 0x0001,
-- { 0x00 } },
-- { 0x0502, 0x0000, 0x0001,
-- { 0x02 } },
-- { 0x0600, 0x0000, 0x0002,
-- { 0x00, 0x48 } },
-- { 0x0505, 0x0000, 0x0001,
-- { 0x20 } },
-- { 0x0505, 0x0000, 0x0001,
-- { 0x21 } }
-+ { 0x0500, 0x0000, 0x0001,
-+ { 0x55 } },
-+ { 0x109b, 0x0000, 0x0001,
-+ { 0xaa } },
-+ { 0x0502, 0x0000, 0x0001,
-+ { 0x02 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x04, 0xd9 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x04 } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0xc0 } },
-+ { 0x0000, 0x0000, 0x0040,
-+ { 0x10, 0x43, 0x00, 0xb4, 0x01, 0x10, 0x00, 0x4f,
-+ 0xef, 0x0e, 0x00, 0x74, 0x01, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x3e, 0x00, 0x24,
-+ 0x03, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
-+ 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
-+ { 0x0040, 0x0000, 0x0040,
-+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
-+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
-+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
-+ { 0x0080, 0x0000, 0x001f,
-+ { 0xa0, 0x48, 0xc3, 0x02, 0x88, 0x0c, 0x68, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0x06, 0x00, 0x08,
-+ 0x00, 0x32, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
-+ 0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
-+ { 0x0200, 0x0000, 0x0012,
-+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
-+ 0x40, 0x20 } },
-+ { 0x0300, 0x0000, 0x0003,
-+ { 0x03, 0x00, 0x00 } },
-+ { 0x0400, 0x0000, 0x0007,
-+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0xc0 } },
-+ { 0x0500, 0x0000, 0x0006,
-+ { 0xe8, 0x00, 0x00, 0x00, 0x20, 0x20 } },
-+ { 0x0600, 0x0000, 0x001b,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00 } },
-+ { 0x0800, 0x0000, 0x0015,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
-+ { 0x1000, 0x0000, 0x0040,
-+ { 0x83, 0x02, 0x20, 0x00, 0x13, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
-+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
-+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
-+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
-+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
-+ { 0x1040, 0x0000, 0x0040,
-+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
-+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
-+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
-+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
-+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
-+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
-+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
-+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
-+ { 0x1080, 0x0000, 0x001d,
-+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x62,
-+ 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
-+ 0x01, 0x60, 0x01, 0x00, 0x00 } },
-+ { 0x0404, 0x0000, 0x0001,
-+ { 0xff } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0xc4 } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0xc0 } },
-+ { 0x0000, 0x0000, 0x0040,
-+ { 0x10, 0x43, 0x00, 0xb4, 0x01, 0x10, 0x00, 0x4f,
-+ 0xef, 0x0e, 0x00, 0x74, 0x01, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x3e, 0x00, 0x24,
-+ 0x03, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
-+ 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
-+ { 0x0040, 0x0000, 0x0040,
-+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
-+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
-+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
-+ { 0x0080, 0x0000, 0x001f,
-+ { 0xa0, 0x48, 0xc3, 0x02, 0x88, 0x0c, 0x68, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0x06, 0x00, 0x08,
-+ 0x00, 0x32, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
-+ 0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
-+ { 0x0200, 0x0000, 0x0012,
-+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
-+ 0x40, 0x20 } },
-+ { 0x0300, 0x0000, 0x0003,
-+ { 0x03, 0x00, 0x00 } },
-+ { 0x0400, 0x0000, 0x0007,
-+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0xc0 } },
-+ { 0x0500, 0x0000, 0x0006,
-+ { 0xe8, 0x00, 0x00, 0x00, 0x20, 0x20 } },
-+ { 0x0600, 0x0000, 0x001b,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00 } },
-+ { 0x0800, 0x0000, 0x0015,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
-+ { 0x1000, 0x0000, 0x0040,
-+ { 0x83, 0x02, 0x20, 0x00, 0x13, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
-+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
-+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
-+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
-+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
-+ { 0x1040, 0x0000, 0x0040,
-+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
-+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
-+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
-+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
-+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
-+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
-+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
-+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
-+ { 0x1080, 0x0000, 0x001d,
-+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x62,
-+ 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
-+ 0x01, 0x60, 0x01, 0x00, 0x00 } },
-+ { 0x0200, 0x0000, 0x0011,
-+ { 0x48, 0x58, 0x9e, 0x48, 0x58, 0x00, 0x00, 0x00,
-+ 0x00, 0x84, 0x36, 0x05, 0x01, 0xf2, 0x86, 0x65,
-+ 0x40 } },
-+ { 0x0080, 0x0000, 0x0001,
-+ { 0xa0 } },
-+ { 0x101a, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x0091, 0x0000, 0x0002,
-+ { 0x6c, 0x01 } },
-+ { 0x0003, 0x0000, 0x0002,
-+ { 0xc8, 0x01 } },
-+ { 0x101a, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x1000, 0x0000, 0x0001,
-+ { 0x83 } },
-+ { 0x108f, 0x0000, 0x000c,
-+ { 0x62, 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01,
-+ 0x20, 0x01, 0x60, 0x01 } },
-+ { 0x1085, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
-+ { 0x101b, 0x0000, 0x0002,
-+ { 0x69, 0x00 } },
-+ { 0x1011, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
-+ { 0x0502, 0x0000, 0x0001,
-+ { 0x02 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x04, 0xd9 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x20 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x21 } },
-+ { 0x100e, 0x0000, 0x0001,
-+ { 0x08 } },
-+ { 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x08, 0x21, 0x3d, 0x52, 0x63, 0x75, 0x83,
-+ 0x91, 0x9e, 0xaa, 0xb6, 0xc1, 0xcc, 0xd6, 0xe0,
-+ 0xea } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x100f, 0x0000, 0x0002,
-+ { 0x13, 0x13 } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x14 } },
-+ { 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x08, 0x21, 0x3d, 0x52, 0x63, 0x75, 0x83,
-+ 0x91, 0x9e, 0xaa, 0xb6, 0xc1, 0xcc, 0xd6, 0xe0,
-+ 0xea } },
-+ { 0x100b, 0x0000, 0x0001,
-+ { 0x14 } },
-+ { 0x100d, 0x0000, 0x0001,
-+ { 0x20 } },
-+ { 0x100c, 0x0000, 0x0001,
-+ { 0x34 } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0xc3 } },
-+ { 0x0404, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x0502, 0x0000, 0x0001,
-+ { 0x02 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x00, 0x48 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x20 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x21 } }
-diff -Naur nw802-2.4-0.0.99/nw801.init nw802-2.4/nw801.init
---- nw802-2.4-0.0.99/nw801.init 2003-08-20 23:34:39.000000000 +0200
-+++ nw802-2.4/nw801.init 2003-08-25 22:22:26.000000000 +0200
-@@ -66,7 +66,7 @@
- { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
- 0x00, 0x78, 0x18, 0x0b, 0x06, 0xa2, 0x86, 0x78 } },
- { 0x020f, 0x0000, 0x0001,
-- { 0x78 } },
-+ { 0x6b } },
- { 0x101a, 0x0000, 0x0001,
- { 0x15 } },
- { 0x0000, 0x0000, 0x0001,
-@@ -82,29 +82,15 @@
- { 0x1019, 0x0000, 0x0001,
- { 0x09 } },
- { 0x1024, 0x0000, 0x0006,
-- { 0xc0, 0x00, 0x3f, 0x02, 0x00, 0x01 } },
-- { 0x0003, 0x0000, 0x0002,
-- { 0x92, 0x03 } },
-- { 0x001d, 0x0000, 0x0004,
-- { 0xf2, 0x00, 0x24, 0x07 } },
-- { 0x007b, 0x0000, 0x0001,
-- { 0xcf } },
-- { 0x1094, 0x0000, 0x0001,
-- { 0x07 } },
-+ { 0xc0, 0x00, 0x24, 0x02, 0x00, 0x01 } },
- { 0x0505, 0x0000, 0x0001,
- { 0x01 } },
- { 0x0504, 0x0000, 0x0001,
- { 0x01 } },
- { 0x100e, 0x0000, 0x0001,
-- { 0x08 } },
-- { 0x1048, 0x0000, 0x0011,
-- { 0x00, 0x37, 0x55, 0x6b, 0x7d, 0x8d, 0x9b, 0xa8,
-- 0xb4, 0xbf, 0xca, 0xd4, 0xdd, 0xe6, 0xef, 0xf0,
-- 0xf0 } },
-- { 0x1003, 0x0000, 0x0001,
-- { 0x00 } },
-+ { 0x18 } },
- { 0x100f, 0x0000, 0x0002,
-- { 0x0c, 0x0c } },
-+ { 0x12, 0x12 } },
- { 0x1003, 0x0000, 0x0001,
- { 0x08 } },
- { 0x1048, 0x0000, 0x0011,
-@@ -112,11 +98,10 @@
- 0xb4, 0xbf, 0xca, 0xd4, 0xdd, 0xe6, 0xef, 0xf0,
- 0xf0 } },
- { 0x100b, 0x0000, 0x0001,
-- { 0x0a } },
-+ { 0x12 } },
- { 0x100d, 0x0000, 0x0001,
-- { 0x0b } },
-+ { 0x10 } },
- { 0x100c, 0x0000, 0x0001,
-- { 0x1c } },
-+ { 0x15 } },
- { 0x0506, 0x0000, 0x0001,
- { 0x03 } },
--
-diff -Naur nw802-2.4-0.0.99/nw802.c nw802-2.4/nw802.c
---- nw802-2.4-0.0.99/nw802.c 2003-08-21 23:13:37.000000000 +0200
-+++ nw802-2.4/nw802.c 2007-09-05 23:29:52.000000000 +0200
-@@ -23,11 +23,12 @@
- //
- // [ sources bestview with tabstop=4 ]
- //
--
-+
- #include <linux/kernel.h>
--#include <linux/slab.h>
- #include <linux/module.h>
-+#include <linux/init.h>
- #include <linux/usb.h>
-+#include <linux/miscdevice.h>
-
- #include "usbvideo.h"
- #include "nw8xx_jpgl.h"
-@@ -77,21 +78,14 @@
- typedef struct // This structure lives in struct uvd->user field.
- {
- unsigned char veio_buf[MAX_VEIO_LEN]; // Buffer for vendor usb I/O
-- int type; // Type of the cam
--} nw802_t;
--
--typedef struct // Represent a supported device
--{
-- unsigned short int idVendor;
-- unsigned short int idProduct;
- enum
- {
-- NW800 = 0,
-- NW801 = 1,
-- NW802 = 2
-- } model;
-- char *name;
--} supportedDevice_t;
-+ BRIDGE_UNKNOW = 0x00,
-+ BRIDGE_NW800,
-+ BRIDGE_NW801,
-+ BRIDGE_NW802
-+ } bridge_type; // Model of the bridge
-+} nw802_t;
-
- typedef struct
- {
-@@ -112,6 +106,17 @@
- SIZE_END
- };
-
-+
-+/* support for a /dev/nw8xx entry */
-+/* presently only used to get/set registers */
-+
-+struct uvd *nw8xx_uvd=NULL;
-+
-+static unsigned int reg_addr;
-+static unsigned char reg_val;
-+
-+#define NW8XX_IS_OPEN 0x01
-+static unsigned long nw8xx_status = 0;
- // ============================================================================
- // Supported camera lists
- // ============================================================================
-@@ -119,7 +124,7 @@
- // TODO Data must be repeated twice ... Once in one of our structure, the other
- // in a kernel standard structure ... I should find a way to 'unify' this !
-
--static __devinitdata struct usb_device_id nw802_usb_ids[] =
-+static struct usb_device_id nw802_usb_ids[] =
- {
- { USB_DEVICE( 0x046d, 0xd001 ) }, // Logitech Quickam Pro USB
- // (dark focus ring)
-@@ -138,16 +143,6 @@
-
- MODULE_DEVICE_TABLE( usb, nw802_usb_ids );
-
--static supportedDevice_t nw802_supported_devs [] =
-- {
-- { 0x046d, 0xd001, NW801, "Logitech Quickam Pro USB (dark focus ring)" },
-- { 0x052b, 0xd001, NW802, "Ezonics EZCam Pro USB" },
-- { 0x055f, 0xd001, NW802, "Mustek WCam 300 / PCLine PCL-W300" },
-- { 0x06a5, 0xd001, NW802, "Generic DivIO NW802" },
-- { 0x06a5, 0x0000, NW800, "Generic DivIO NW800" },
-- {} // End entry ( a null name indicate the end )
-- };
--
-
- // ============================================================================
- // Global vars
-@@ -159,7 +154,7 @@
- static int debug_uv = 0; // The debugging level of USB video
- #endif
-
--static int size = SIZE_END;
-+static int size = SIZE_320x240;
-
-
- // Internal vars
-@@ -174,13 +169,13 @@
- // ============================================================================
-
- #ifdef ENABLE_DEBUG
--MODULE_PARM(debug, "i");
-+module_param(debug, int, 0);
- MODULE_PARM_DESC(debug, "Debug level: 0-5 (default=0)");
--MODULE_PARM(debug_uv, "i");
-+module_param(debug_uv, int, 0);
- MODULE_PARM_DESC(debug_uv, "Debug level of USB Video: 0-2 (default=0)");
- #endif
-
--MODULE_PARM(size, "i");
-+module_param(size, int, 0);
- MODULE_PARM_DESC(size, "Video size: 0=160x120 1=176x144 2=320x240 3=352x288 4=640x480 (default=2)" );
-
-
-@@ -188,7 +183,7 @@
- // Module options related funcs
- // ============================================================================
-
--static void nw802_validate_params( int cam_type )
-+static void nw802_validate_params( int bridge_type )
- {
- #ifdef ENABLE_DEBUG
- RESTRICT_TO_RANGE( debug, 0, 5 );
-@@ -197,7 +192,7 @@
-
-
- if ( size == SIZE_END )
-- size = nw802_supported_devs[cam_type].model == NW800 ?
-+ size = bridge_type == BRIDGE_NW800 ?
- SIZE_352x288 : SIZE_320x240;
- else
- RESTRICT_TO_RANGE( size, 0, SIZE_END - 1 );
-@@ -276,6 +271,43 @@
- return rv;
- }
-
-+static int nw802_test_reg( struct uvd *uvd, int regaddr, unsigned char pattern )
-+{
-+ // Vars
-+ initURB_t urb;
-+
-+ // Prepare to send the byte
-+ urb.len = 1;
-+ urb.value = 0;
-+ urb.data[0] = pattern;
-+ urb.index = regaddr;
-+
-+ // Send it
-+ nw802_vendor_send( uvd, &urb);
-+
-+ // Reread the value
-+ nw802_vendor_read( uvd, regaddr, &urb.data[0], 1 );
-+
-+ // Is it ok
-+ return urb.data[0] == pattern;
-+}
-+
-+static int nw802_autodetect_bridge( struct uvd *uvd )
-+{
-+ // Autodetect sequence inspired from some log.
-+ // We try to detect what registers exists or not.
-+ // If 0x0500 does not exist => NW802
-+ // If it does, test 0x109B. If it doesn't exists,
-+ // then it's a NW801. Else, a NW800
-+
-+ if ( !nw802_test_reg(uvd, 0x0500, 0x55) )
-+ return BRIDGE_NW802;
-+
-+ if ( !nw802_test_reg(uvd, 0x109B, 0xAA) )
-+ return BRIDGE_NW801;
-+
-+ return BRIDGE_NW800;
-+}
-
- static int nw802_init_camera( struct uvd *uvd )
- {
-@@ -291,7 +323,7 @@
-
- };
-
-- #define NW801_INIT_LEN 38
-+ #define NW801_INIT_LEN 32
- static const
- initURB_t nw801_init[NW801_INIT_LEN] = {
-
-@@ -311,26 +343,29 @@
- usb_set_interface( uvd->dev, 0x00, uvd->ifaceAltActive );
-
- // Send all the packets
-- switch ( nw802_supported_devs[NW802_T(uvd)->type].model ) {
-+ switch ( NW802_T(uvd)->bridge_type ) {
-
-- case NW800:
-+ case BRIDGE_NW800:
- for ( i=0 ; i < NW800_INIT_LEN ; i++ )
- if ( nw802_vendor_send( uvd, &nw800_init[i] ) < 0 )
- return -1;
- break;
-
-- case NW801:
-+ case BRIDGE_NW801:
- for ( i=0 ; i < NW801_INIT_LEN ; i++ )
- if ( nw802_vendor_send( uvd, &nw801_init[i] ) < 0 )
- return -1;
- break;
-
-- case NW802:
-+ case BRIDGE_NW802:
- for ( i=0 ; i < NW802_INIT_LEN ; i++ )
- if ( nw802_vendor_send( uvd, &nw802_init[i] ) < 0 )
- return -1;
- break;
-
-+ default:
-+ ERR( "How the hell I'm I supposed to init that bridge ?" );
-+
- }
-
- return 0;
-@@ -355,7 +390,7 @@
-
- // Video capabilities & channel setting
- memset( &uvd->vcap, 0, sizeof(uvd->vcap) );
-- strcpy( uvd->vcap.name, nw802_supported_devs[NW802_T(uvd)->type].name );
-+ strcpy( uvd->vcap.name, "DivIO NW8xx camera" );
-
- uvd->vcap.type = VID_TYPE_CAPTURE;
- uvd->vcap.channels = 1;
-@@ -375,7 +410,6 @@
- uvd->vchan.type = VIDEO_TYPE_CAMERA;
- }
-
--
- // Call backs
-
- static void nw802_processIsocData(struct uvd *uvd, struct usbvideo_frame *frame)
-@@ -384,7 +418,6 @@
-
- DEBUG( 5, "nw802_processIsocData" );
-
--
- // Try to find first header
- rv = jpgl_findHeader( &uvd->dp, canvasX, canvasY, 0 );
-
-@@ -402,22 +435,24 @@
- // a frame waiting for decoding
- DEBUG( 4, "Frame ready for decoding" );
-
-- if ( !jpgl_processFrame(&uvd->dp, frame->data) )
-+ if ( !jpgl_processFrame(&uvd->dp, frame->data, canvasX, canvasY) )
- {
- // Frame processing was sucessful
- frame->frameState = FrameState_Done;
- uvd->curframe = -1;
- uvd->stats.frame_num++;
-
-- // Overlay stats
-+/*
- #ifdef ENABLE_DEBUG
- if ( debug_uv > 0 )
- usbvideo_OverlayStats(uvd, frame);
- #endif
-+*/
- }
- else
- DEBUG(3, "Invalid frame detected !");
- }
-+ frame->flags |= USBVIDEO_FRAME_FLAG_SOFTWARE_CONTRAST;
- }
-
- static int nw802_setupOnOpen(struct uvd *uvd)
-@@ -445,74 +480,63 @@
- // I don't know how to stop it ...
- }
-
--static void *nw802_probe( struct usb_device *dev,
-- unsigned int ifnum,
-+static int nw802_probe( struct usb_interface *intf,
- const struct usb_device_id *devid )
- {
- struct uvd *uvd = NULL;
-- int nas, i, type;
-+ struct usb_device *dev = interface_to_usbdev(intf);
-+ int nas, i;
-+ __u8 ifnum = intf->altsetting->desc.bInterfaceNumber;
- int actSetting = -1;
- int inactSetting = -1;
- int maxPS = 0;
- unsigned char video_ep = 0;
-
-- DEBUG( 1, "nw802_probe(...)" );
--
- // We don't want multiple configuration camera
- if ( dev->descriptor.bNumConfigurations != 1 )
-- return NULL;
-+ return -ENODEV;
-+ DEBUG( 1, "nw802_probe(...)" );
-
-- // Check Vendor & Product ID
-- for ( i=0 ; nw802_supported_devs[i].name ; i++ )
-- if ( ( dev->descriptor.idVendor == nw802_supported_devs[i].idVendor ) &&
-- ( dev->descriptor.idProduct == nw802_supported_devs[i].idProduct ) )
-- break;
--
-- if ( ! nw802_supported_devs[i].name )
-- return NULL;
--
-- // Ok it's a supported cam ( at least seems to )
-- type = i;
-- INFO( "Compatible DivIO NW80x based webcam found ! [%s]", nw802_supported_devs[type].name );
-+ INFO( "Potentially NW8xx supported cam found ( supported vendor/product IDs )" );
-
- // Let's find endpoint, altsettings, ... and validate all this !
-- nas = dev->actconfig->interface[ifnum].num_altsetting;
-+ nas = dev->actconfig->interface[ifnum]->num_altsetting;
- DEBUG( 2, "Number of alternate settings : %d", nas );
-
- for ( i=0 ; i<nas ; i++ )
- {
-- const struct usb_interface_descriptor *interface;
-+ const struct usb_host_interface *interface;
- const struct usb_endpoint_descriptor *endpoint;
-
-- interface = &dev->actconfig->interface[ifnum].altsetting[i];
-- if ( interface->bNumEndpoints != 3 )
-+ interface = &dev->actconfig->interface[ifnum]->altsetting[i];
-+ if ( interface->desc.bNumEndpoints != 3 )
- {
- ERR( "Interface %u Alt %i has %i endpoints!",
-- ifnum, i, interface->bNumEndpoints );
-- return NULL;
-+ ifnum, i, interface->desc.bNumEndpoints );
-+ return -ENODEV;
- }
-
-- endpoint = &interface->endpoint[1];
-+ endpoint = &interface->endpoint[1].desc;
-
- if ( video_ep == 0 )
- video_ep = endpoint->bEndpointAddress;
- else if ( video_ep != endpoint->bEndpointAddress )
- {
- ERR( "Alternate settings have different endpoint addresses!");
-- return NULL;
-+ return -ENODEV;
- }
-
- if ( ( endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK ) !=
- USB_ENDPOINT_XFER_ISOC )
- {
- ERR( "Interface %u Alt %i has non-ISO endpoint 0!", ifnum, i );
-- return NULL;
-+ return -ENODEV;
- }
-
- if ( ( endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK ) == USB_DIR_OUT )
- {
- ERR( "Interface %u Alt %i has ISO OUT endpoint 0!", ifnum, i );
-- return NULL;
-+ return -ENODEV;
- }
-
- if ( endpoint->wMaxPacketSize == 0 )
-@@ -522,7 +546,7 @@
- else
- {
- ERR( "More thant one inactive alt. setting!" );
-- return NULL;
-+ return -ENODEV;
- }
- }
- else
-@@ -546,14 +570,10 @@
- if ( ( maxPS == 0 ) || ( actSetting < 0 ) || ( inactSetting < 0 ) )
- {
- ERR( "No suitable endpoints! Failed to recognize camera!" );
-- return NULL;
-+ return -ENODEV;
- }
--
-- // Check the module options
-- nw802_validate_params( type );
--
-+
- // All is Ok, let's register a video device
-- MOD_INC_USE_COUNT; // Code below may sleep, use this as a lock
-
- uvd = usbvideo_AllocateDevice(nw802_cams);
- if ( uvd )
-@@ -575,13 +595,34 @@
- uvd->iso_packet_len = maxPS;
- uvd->paletteBits = 1L << VIDEO_PALETTE_RGB24;
- uvd->defaultPalette = VIDEO_PALETTE_RGB24;
-+
-+ // Autodetect the bridge type
-+ NW802_T(uvd)->bridge_type = nw802_autodetect_bridge(uvd);
-+ switch (NW802_T(uvd)->bridge_type) {
-+ case BRIDGE_NW800:
-+ INFO( "Detected bridge type : DivIO NW800" );
-+ break;
-+ case BRIDGE_NW801:
-+ INFO( "Detected bridge type : DivIO NW801" );
-+ break;
-+ case BRIDGE_NW802:
-+ INFO( "Detected bridge type : DivIO NW802" );
-+ break;
-+ default:
-+ INFO( "Detected bridge type : Martian ..." );
-+ break;
-+ }
-+
-+ // Check the module options
-+ nw802_validate_params( NW802_T(uvd)->bridge_type );
-+
-+ // Store the size
- uvd->canvas = nw802_size_to_videosize( size );
- uvd->videosize = uvd->canvas;
-
- // Init the nw802 specific part of uvd & global var
- canvasX = VIDEOSIZE_X( uvd->canvas );
- canvasY = VIDEOSIZE_Y( uvd->canvas );
-- NW802_T(uvd)->type = type;
-
- // Configure video & register video device
- nw802_configure_video( uvd );
-@@ -595,82 +636,113 @@
- else
- ERR( "Failed to allocate usbvideo device!" );
-
-- MOD_DEC_USE_COUNT; // Release the 'lock'
--
-- return uvd;
-+ usb_set_intfdata (intf, uvd);
-+ nw8xx_uvd=uvd;
-+ return 0;
- }
-
--static unsigned int reg_addr;
--static unsigned char reg_val;
-+static int nw8xx_open(struct inode *inode, struct file *file)
-+{
-+ if(nw8xx_status & NW8XX_IS_OPEN)
-+ goto out_busy;
-+
-+ nw8xx_status |= NW8XX_IS_OPEN;
-+ return 0;
-
--static int nw8xx_procfs_read(char *page,char **start,off_t off,int count,int *eof,void *data) {
-- char *out = page;
-- int len;
-+out_busy:
-+ return -EBUSY;
-+}
-+
-+static int nw8xx_release(struct inode *inode, struct file *file)
-+{
-+ nw8xx_status &= ~NW8XX_IS_OPEN;
-+ return 0;
-+}
-+
-+#define OUTDEVLEN 20
-+static ssize_t nw8xx_read(struct file *file, char *buf, size_t count, loff_t *ppos)
-+{
-+ char out[OUTDEVLEN];
-+ int len;
-
- /* Read the register */
-- nw802_vendor_read( data, reg_addr, &reg_val, 1 );
-+ nw802_vendor_read( nw8xx_uvd, reg_addr, &reg_val, 1 );
-
-- /* Stay under PAGE_SIZE or else */
-- out += sprintf(out, "Register %04X = %02X\n", reg_addr, reg_val );
-- len = out - page;
-- len -= off;
-- if (len < count) {
-- *eof = 1;
-- if (len <= 0)
-- return 0;
-- } else
-- len = count;
-- *start = page + off;
-- return len;
--}
-+ len = sprintf(out, "Register %04X = %02X\n", reg_addr&0xffff, reg_val&0xff );
-+ out[OUTDEVLEN-1]=0;
-
--static int nw8xx_procfs_write(struct file *file,const char *buffer,unsigned long count,void *data) {
-+ if (copy_to_user(buf, out, OUTDEVLEN))
-+ *ppos+=OUTDEVLEN;
-+ return OUTDEVLEN;
-+}
-
-- char mybuf[16];
-+static ssize_t nw8xx_write(struct file *file, const char *buf, size_t count, loff_t *ppos)
-+{
-+ char mybuf[255];
- initURB_t urb;
-+ unsigned int ui,ud;
-
-- // Copy in a string
-- if ( count > 15 )
-- return -EINVAL;
--
-- memcpy( mybuf, buffer, count );
--
-- // Scan it
-- if ( mybuf[4] == '=' ) {
-- // Write request
-- sscanf(mybuf,"%04x=%02x", &urb.index, &urb.data[0]);
-- urb.len = 1;
-- urb.value = 0;
-- nw802_vendor_send( data, &urb);
-- } else {
-- // Change monitored reg
-+ if (count<6) { /* set a new register to monitor */
-+ if (copy_from_user(mybuf, buf, count)) {
-+ return -EFAULT;
-+ }
- sscanf(mybuf,"%04x", &reg_addr);
-- }
--
-+ *ppos +=count;
-+ return(count);
-+ }
-+ if ((count>5)&&(count<9)) { /* Write request */
-+ if (copy_from_user(mybuf, buf, count))
-+ return -EFAULT;
-+ if (2==sscanf(mybuf,"%04x=%02x", &ui, &ud)) {
-+ urb.index=ui;
-+ urb.data[0]=ud;
-+ urb.len = 1;
-+ urb.value = 0;
-+ nw802_vendor_send( nw8xx_uvd, &urb);
-+ }
-+ *ppos +=count;
-+ return(count);
-+ }
- return count;
- }
--
-
-+static struct file_operations nw8xx_fops = {
-+ .owner = THIS_MODULE,
-+ .open = nw8xx_open,
-+ .read = nw8xx_read,
-+ .write = nw8xx_write,
-+ .release = nw8xx_release,
-+
-+};
-+
-+static struct miscdevice nw8xx_device = {
-+ MISC_DYNAMIC_MINOR,
-+ "nw8xx",
-+ &nw8xx_fops
-+};
-
- // ============================================================================
- // Kernel Module init & exit
- // ============================================================================
-
--static int __init nw802_init()
-+static int __init nw802_init(void)
- {
- int rv;
--
-- // Setup callbacks
- struct usbvideo_cb cbTbl;
-+
-+ rv = misc_register(&nw8xx_device);
-+ if(rv < 0) {
-+ return rv;
-+ }
-+
- memset( &cbTbl, 0, sizeof(cbTbl) );
-
-+ // Setup callbacks
- cbTbl.probe = nw802_probe;
- cbTbl.setupOnOpen = nw802_setupOnOpen;
- cbTbl.videoStart = nw802_videoStart;
- cbTbl.videoStop = nw802_videoStop;
- cbTbl.processData = nw802_processIsocData;
-- cbTbl.procfs_read = nw8xx_procfs_read;
-- cbTbl.procfs_write = nw8xx_procfs_write;
-
- // Register usbvideo driver
- rv = usbvideo_register( &nw802_cams,
-@@ -693,8 +765,9 @@
- return rv;
- }
-
--static void __exit nw802_exit()
-+static void __exit nw802_exit(void)
- {
-+ misc_deregister(&nw8xx_device);
- usbvideo_Deregister( &nw802_cams );
- INFO( "Module unloaded" );
- }
-diff -Naur nw802-2.4-0.0.99/nw8xx_jpgl.c nw802-2.4/nw8xx_jpgl.c
---- nw802-2.4-0.0.99/nw8xx_jpgl.c 2003-08-20 23:34:39.000000000 +0200
-+++ nw802-2.4/nw8xx_jpgl.c 2004-07-06 09:43:54.000000000 +0200
-@@ -96,9 +96,10 @@
- //
-
- // Variable Lenght Coding related tables, used for AC coefficient decoding
--static char vlcTbl_len[1<<10]; // Meaningful bit count
--static char vlcTbl_run[1<<10]; // Run
--static char vlcTbl_amp[1<<10]; // Amplitude ( without the sign )
-+// TODO Check that 7 bits is enough !
-+static signed char vlcTbl_len[1<<10]; // Meaningful bit count
-+static signed char vlcTbl_run[1<<10]; // Run
-+static signed char vlcTbl_amp[1<<10]; // Amplitude ( without the sign )
-
- // YUV->RGB conversion table
- static int yuvTbl_y[256];
-@@ -125,7 +126,7 @@
- #endif
-
- // Code to initialize those tables
--static void vlcTbl_init()
-+static void vlcTbl_init(void)
- {
- // Bases tables used to compute the bigger one
- // To understands theses, look at the VLC doc in the
-@@ -173,7 +174,7 @@
- }
- }
-
--static void yuvTbl_init()
-+static void yuvTbl_init(void)
- {
- // These tables are just pre-multiplied and pre-offseted
- // YUV by the book
-@@ -194,7 +195,7 @@
- }
-
- #ifndef SAFE_CLAMP
--static void clampTbl_init()
-+static void clampTbl_init(void)
- {
- // Instead of doing if(...) to test for overrange, we use
- // a clamping table
-@@ -430,7 +431,7 @@
- // jpgl_findHeader ). A complete frame MUST BE available !
- // Return 0 if the frame is valid.
- // Another code is an error code
--int jpgl_processFrame( struct RingQueue *rq, unsigned char *fb )
-+int jpgl_processFrame( struct RingQueue *rq, unsigned char *fb, unsigned int good_img_width, unsigned int good_img_height )
- {
- // Vars
- struct rqBitReader br;
-@@ -461,8 +462,13 @@
- img_height = RING_QUEUE_PEEK(rq,2);
- RING_QUEUE_DEQUEUE_BYTES(rq,8);
-
-- printk("Frame decoding: fb=%08X W=%d H=%d\n", fb, img_width, img_height);
--
-+ // Safety **** HACK/QUICKFIX ALERT ****
-+ if ( (img_width != good_img_width) || (img_height != (good_img_height>>2)) ) {
-+ img_width = good_img_width;
-+ img_height = good_img_height >> 2;
-+ printk(KERN_NOTICE "Incoherency corrected. SHOULD NOT HAPPEN !!!! But it does ...");
-+ }
-+
- // Prepare a bit-by-bit reader
- rqBR_init(&br, rq);
-
-@@ -583,7 +589,7 @@
- *(fb++) = *(Yline++);
- *(fb++)= ( Uline[0] + 3*Uline[1] ) >> 2;
- *(fb++) = ( Vline[0] + 3*Vline[1] ) >> 2;
-- #else
-+ #else
- // First pixel
- yc = yuvTbl_y[*(Yline++)];
- uc = Uline[0];
-@@ -635,7 +641,7 @@
- #ifdef _JPGL_TEST_
- fb++;
- #endif
-- #endif
-+ #endif
-
- // Adjust pointers
- Uline++;
-@@ -696,7 +702,7 @@
- }
-
- // Init the decoder. Should only be called once
--void jpgl_initDecoder()
-+void jpgl_initDecoder(void)
- {
- vlcTbl_init();
- yuvTbl_init();
-diff -Naur nw802-2.4-0.0.99/nw8xx_jpgl.h nw802-2.4/nw8xx_jpgl.h
---- nw802-2.4-0.0.99/nw8xx_jpgl.h 2003-08-20 23:34:39.000000000 +0200
-+++ nw802-2.4/nw8xx_jpgl.h 2004-07-06 09:43:54.000000000 +0200
-@@ -47,7 +47,7 @@
- // jpgl_findHeader ). A complete frame MUST BE available !
- // Return 0 if the frame is valid.
- // Another code is an error code
--int jpgl_processFrame( struct RingQueue *rq, unsigned char *fb );
-+int jpgl_processFrame( struct RingQueue *rq, unsigned char *fb, unsigned int good_img_width, unsigned int good_img_height );
-
-
- // Find a valid header and return the offset to skip to correctly align
-@@ -58,7 +58,7 @@
-
-
- // Init the decoder. Should only be called once
--void jpgl_initDecoder();
-+void jpgl_initDecoder(void);
-
-
- #endif // __NW8XX_JPGL_H__
-diff -Naur nw802-2.4-0.0.99/nw8xx_regedit.c nw802-2.4/nw8xx_regedit.c
---- nw802-2.4-0.0.99/nw8xx_regedit.c 2003-08-20 23:34:39.000000000 +0200
-+++ nw802-2.4/nw8xx_regedit.c 2004-07-06 09:43:54.000000000 +0200
-@@ -25,8 +25,8 @@
- #define U_GAIN_REG 0x100F
- #define V_GAIN_REG 0x1010
-
--#define SHUT1_REG 0x100C
--#define SHUT2_REG 0x100D
-+#define SHUT1_REG 0x101B
-+#define SHUT2_REG 0x101C
- #endif
-
- #ifdef NW801_MODEL
-@@ -42,8 +42,13 @@
- #define U_GAIN_REG 0x100F
- #define V_GAIN_REG 0x1010
-
--#define SHUT1_REG 0x100C
--#define SHUT2_REG 0x100D
-+#define SHUT1_REG 0x101B //?
-+#define SHUT2_REG 0x101C //?
-+
-+#define CLK_REG 0x1019
-+#define CLK_REG_MASK 0x08
-+
-+#define BP_REG 0x1026
- #endif
-
-
-@@ -56,14 +61,14 @@
- int raddr, value;
- int procfd = -1;
-
-- procfd=open(procpath, O_RDWR);
--
-+ procfd=open(procpath, O_RDWR);
-+
- if ( procfd < 0 ) {
- perror("open");
- g_error("Can't open the driver proc interface\n");
- return 0;
- }
--
-+
- snprintf(buffer, 19, "%04x", addr);
- write( procfd, buffer, 4 );
- read( procfd, buffer, 18 );
-@@ -79,8 +84,8 @@
- char buffer[8];
- int procfd = -1;
-
-- procfd=open(procpath, O_RDWR);
--
-+ procfd=open(procpath, O_RDWR);
-+
- if ( procfd < 0 ) {
- perror("open");
- g_error("Can't open the driver proc interface\n");
-@@ -107,6 +112,25 @@
- writeReg(addr, (unsigned char)(value));
- }
-
-+#ifdef NW801_MODEL
-+
-+static void IndoorToggled( GtkWidget *widget, gpointer data ) {
-+ unsigned char value;
-+ int addr;
-+
-+ addr = CLK_REG ;
-+ value = readReg( CLK_REG );
-+
-+ if ( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)) )
-+ value |= CLK_REG_MASK;
-+ else
-+ value &= ~CLK_REG_MASK;
-+
-+ writeReg(addr, (unsigned char)(value));
-+}
-+
-+#endif
-+
- static void SliderChanged( GtkWidget *widget, gpointer data ) {
- gdouble value;
- int addr;
-@@ -143,27 +167,27 @@
- void create_gui() {
-
- // Vars
--
-+
- // Temps
- int i, j;
- GtkWidget *dummy;
--
-+
- // Main layout
- GtkWidget *window;
- GtkWidget *vbox1, *vbox2;
- GtkWidget *hbox1, *hbox2;
--
-+
- GtkWidget *RGBControls_frame;
- GtkWidget *YUVControls_frame;
- GtkWidget *ShutControls_frame;
- GtkWidget *MiscControls_frame;
- GtkWidget *LUTTables_frame;
--
-+
- // LUT Frame
- GtkWidget *lutf_vbox, *lutf_nbook;
--
--
--
-+
-+
-+
- // Create a window
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-
-@@ -182,7 +206,7 @@
- gtk_container_add (GTK_CONTAINER (window), vbox1);
-
-
-- // On the top, put
-+ // On the top, put
- // - RGB Gain/ofs
- // - YUV Gain/ofs
- // - Shutter control
-@@ -194,7 +218,7 @@
- RGBControls_frame = gtk_frame_new("RGB Gain/Ofs");
- gtk_widget_show(RGBControls_frame);
- gtk_box_pack_start(GTK_BOX(hbox1), RGBControls_frame, TRUE, TRUE, 0);
--
-+
- YUVControls_frame = gtk_frame_new("YUV Gain/Ofs");
- gtk_widget_show(YUVControls_frame);
- gtk_box_pack_start(GTK_BOX(hbox1), YUVControls_frame, TRUE, TRUE, 0);
-@@ -239,11 +263,11 @@
- gtk_widget_show(hbox2);
- gtk_container_add(GTK_CONTAINER(RGBControls_frame), hbox2);
-
-- createslider(R_GAIN_REG,63,hbox2);
-- createslider(G_GAIN_REG,63,hbox2);
-- createslider(B_GAIN_REG,63,hbox2);
-+ createslider(R_GAIN_REG,63,hbox2);
-+ createslider(G_GAIN_REG,63,hbox2);
-+ createslider(B_GAIN_REG,63,hbox2);
-+
-
--
-
- // YUV Offset & Gain
- // -----------------
-@@ -251,10 +275,10 @@
- gtk_widget_show(hbox2);
- gtk_container_add(GTK_CONTAINER(YUVControls_frame), hbox2);
-
-- createslider(Y_GAIN_REG,63,hbox2);
-- createslider(U_GAIN_REG,63,hbox2);
-- createslider(V_GAIN_REG,63,hbox2);
--
-+ createslider(Y_GAIN_REG,63,hbox2);
-+ createslider(U_GAIN_REG,63,hbox2);
-+ createslider(V_GAIN_REG,63,hbox2);
-+
-
- // Shutter control
- // ---------------
-@@ -262,12 +286,27 @@
- gtk_widget_show(hbox2);
- gtk_container_add(GTK_CONTAINER(ShutControls_frame), hbox2);
-
-- createslider(SHUT1_REG,255,hbox2);
-- createslider(SHUT2_REG,255,hbox2);
-+ createslider(SHUT1_REG,255,hbox2);
-+ createslider(SHUT2_REG,255,hbox2);
-
- // Misc
- // ----
-+#ifdef NW801_MODEL
-+
-+ hbox2 = gtk_hbox_new(TRUE,0);
-+ gtk_widget_show(hbox2);
-+ gtk_container_add(GTK_CONTAINER(MiscControls_frame), hbox2);
-
-+ createslider(BP_REG,159,hbox2);
-+
-+ dummy = gtk_check_button_new_with_label("Outdoor");
-+ gtk_widget_show(dummy);
-+ gtk_box_pack_start(GTK_BOX(hbox2), dummy, FALSE, FALSE, 0);
-+ g_signal_connect(G_OBJECT(dummy), "toggled",
-+ G_CALLBACK (IndoorToggled), NULL);
-+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dummy), readReg(CLK_REG) & CLK_REG_MASK);
-+
-+#endif
- // LUT Tables
- // ----------
- lutf_vbox = gtk_vbox_new(FALSE,1);
-diff -Naur nw802-2.4-0.0.99/proscope.init nw802-2.4/proscope.init
---- nw802-2.4-0.0.99/proscope.init 1970-01-01 01:00:00.000000000 +0100
-+++ nw802-2.4/proscope.init 2003-10-03 15:44:18.000000000 +0200
-@@ -0,0 +1,105 @@
-+ { 0x0405, 0x0000, 0x0001,
-+ { 0x21 } },
-+ { 0x0404, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x04 } },
-+ { 0x0000, 0x0000, 0x0040,
-+ { 0x10, 0x01, 0x00, 0xf9, 0x02, 0x10, 0x00, 0x04,
-+ 0x0f, 0x1f, 0x00, 0x0d, 0x02, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
-+ 0x00, 0x08, 0x00, 0x17, 0x00, 0xce, 0x00, 0xf4,
-+ 0x05, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
-+ 0x00, 0xce, 0x00, 0xf8, 0x03, 0x3e, 0x00, 0x86,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
-+ { 0x0040, 0x0000, 0x0040,
-+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0xb6,
-+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0xf6, 0x03, 0x34, 0x04, 0xf6, 0x03, 0x34,
-+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xe8,
-+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
-+ { 0x0080, 0x0000, 0x001f,
-+ { 0xb4, 0x6f, 0x1f, 0x0f, 0x08, 0x20, 0xa8, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0x08, 0x00, 0x11,
-+ 0x00, 0x0c, 0x02, 0x01, 0x00, 0x19, 0x00, 0x94,
-+ 0x00, 0x10, 0x06, 0x10, 0x00, 0x36, 0x00 } },
-+ { 0x0200, 0x0000, 0x0012,
-+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
-+ 0x40, 0x20 } },
-+ { 0x0300, 0x0000, 0x0003,
-+ { 0x03, 0x00, 0x00 } },
-+ { 0x0400, 0x0000, 0x0007,
-+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x21, 0x00 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x09, 0x99 } },
-+ { 0x0800, 0x0000, 0x0015,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
-+ { 0x1000, 0x0000, 0x0040,
-+ { 0xad, 0x02, 0x80, 0x00, 0x12, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x10, 0x1f, 0x10, 0x08, 0x0a,
-+ 0x0a, 0x51, 0x00, 0xf1, 0x00, 0x3c, 0x00, 0xb4,
-+ 0x00, 0x49, 0x13, 0x00, 0x00, 0x8c, 0x04, 0x01,
-+ 0x20, 0x02, 0x00, 0x03, 0x00, 0x20, 0x00, 0x00,
-+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
-+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
-+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
-+ { 0x1040, 0x0000, 0x0040,
-+ { 0x80, 0x00, 0x2d, 0x46, 0x58, 0x67, 0x74, 0x7f,
-+ 0x88, 0x94, 0x9d, 0xa6, 0xae, 0xb5, 0xbd, 0xc4,
-+ 0xcb, 0xd1, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
-+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
-+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
-+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
-+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
-+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
-+ { 0x1080, 0x0000, 0x001b,
-+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x3f,
-+ 0x01, 0x00, 0x00, 0xef, 0x00, 0x09, 0x05, 0x82,
-+ 0x02, 0xe4, 0x01, 0x40, 0x01, 0xf0, 0x00, 0x40,
-+ 0x01, 0xf0, 0x00 } },
-+ { 0x0200, 0x0000, 0x0011,
-+ { 0x3c, 0x50, 0x9e, 0x3c, 0x50, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x3f, 0x10, 0x02, 0xf2, 0x8f, 0x78,
-+ 0x40 } },
-+ { 0x101a, 0x0000, 0x0001,
-+ { 0x06 } },
-+ { 0x0003, 0x0000, 0x0001,
-+ { 0xf9, 0x02 } },
-+ { 0x1085, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
-+ { 0x101b, 0x0000, 0x0002,
-+ { 0x00, 0x00 } },
-+ { 0x1011, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
-+ { 0x101d, 0x0000, 0x0008,
-+ { 0xc0, 0x0d, 0x01, 0x20, 0x02, 0xe8, 0x03, 0x00 } },
-+ { 0x100e, 0x0000, 0x0001,
-+ { 0x10 } },
-+ { 0x100f, 0x0000, 0x0002,
-+ { 0x0c, 0x0c } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x0c } },
-+ { 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x10, 0x51, 0x6e, 0x83, 0x93, 0xa1, 0xae,
-+ 0xb9, 0xc3, 0xcc, 0xd4, 0xdd, 0xe4, 0xeb, 0xf2,
-+ 0xf9 } },
-+ { 0x100b, 0x0000, 0x0001,
-+ { 0x0b } },
-+ { 0x100d, 0x0000, 0x0001,
-+ { 0x10 } }, // Exposure
-+ { 0x100c, 0x0000, 0x0001,
-+ { 0x1b } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x03 } },
-+ { 0x0405, 0x0000, 0x0001,
-+ { 0x21 } },
-+ { 0x0404, 0x0000, 0x0001,
-+ { 0x00 } }
-+
-diff -Naur nw802-2.4-0.0.99/README nw802-2.4/README
---- nw802-2.4-0.0.99/README 2003-08-20 23:34:39.000000000 +0200
-+++ nw802-2.4/README 2007-01-03 21:13:24.000000000 +0100
-@@ -20,6 +20,98 @@
- # insmod nw802.o
- * Launch xawtv ( or any V4L compatible app. Since the driver currently ignores quite a lot of V4L request like videosize, format, ... the app may give warning or refuses to work at all ... xawtv works, newer version of gnomemeeting don't ... )
-
-+The original init files do not support all cam's, so if you don't get any picture, see if you have one of this cams.
-+
-+If you have a Plustek Opticam 500U ( or ProLink DS3303u WebCam).
-+----------------------------------------
-+Rename the nw801.init to something else ( nw801.init.old for example).
-+Then rename the DS3303u.init to nw801.init.
-+Open the nw802.c in a editor. Go to line 314.
-+
-+It looks like this:
-+#define NW801_INIT_LEN 32
-+
-+Change it to this:
-+#define NW801_INIT_LEN 31
-+
-+Save the nw802.c.
-+Compile as described above under 'How to use it ?'.
-+
-+
-+If you have a Panasonic GP-KR651US.
-+----------------------------------------
-+Rename the nw802.init to something else ( nw802.init.old for example).
-+Then rename the kr651us.init to nw802.init.
-+Compile as described above under 'How to use it ?'.
-+
-+If you have a iRez Kritter cam.
-+----------------------------------------
-+Rename the nw802.init to something else ( nw802.init.old for example).
-+Then rename the kritter.init to nw802.init.
-+Compile as described above under 'How to use it ?'.
-+
-+
-+If you have a D-link dru-350c cam.
-+----------------------------------------
-+Rename the nw802.init to something else ( nw802.init.old for example).
-+Then rename the d-link-350c.init to nw802.init.
-+Compile as described above under 'How to use it ?'.
-+
-+
-+If you have a The Scope USB Microscope M2 (ProScope).
-+----------------------------------------
-+Rename the nw802.init to something else ( nw802.init.old for example).
-+Then rename the proscope.init to nw802.init.
-+Compile as described above under 'How to use it ?'.
-+
-+
-+If you have a Conceptronic Video Pro 'CVIDEOPRO USB Webcam CCD'.
-+----------------------------------------
-+Rename the nw802.init to something else ( nw802.init.old for example).
-+Then rename the cvideopro.init to nw802.init.
-+Compile as described above under 'How to use it ?'.
-+
-+
-+If you have a Trust SpaceCam120 or SpaceCam100 PORTABLE.
-+----------------------------------------
-+Rename the nw800.init to something else ( nw800.init.old for example).
-+Then rename the SpaceCam.init to nw800.init.
-+Open the nw802.c in a editor.
-+Go to line 127. It looks like this:
-+{ USB_DEVICE( 0x06a5, 0x0000 ) }, // Generic NW800
-+
-+Change it to this:
-+{ USB_DEVICE( 0x06a5, 0xd800 ) }, // Generic NW800
-+
-+Go to line 322. It looks like this:
-+#define NW800_INIT_LEN 65
-+
-+Change it to this:
-+#define NW800_INIT_LEN 82
-+
-+Save the nw802.c.
-+Compile as described above under 'How to use it ?'.
-+
-+If your led goes out and no picture. Try the trust_space.init
-+and repeat the above. But set NW800_INIT_LEN 36 .
-+
-+
-+If you have a TwinkleCam.
-+----------------------------------------
-+Rename the nw800.init to something else ( nw800.init.old for example).
-+Then rename the Twinkle.init to nw800.init.
-+Open the nw802.c in a editor. Go to line 322.
-+
-+It looks like this:
-+#define NW800_INIT_LEN 65
-+
-+Change it to this:
-+#define NW800_INIT_LEN 95
-+
-+Save the nw802.c.
-+Compile as described above under 'How to use it ?'.
-+
-+
-
- Something is wrong ...
- ----------------------
-@@ -45,13 +137,13 @@
- - Better cam support with automatic chip/cds/ccd detection
- - Image control + Auto white balance + Auto exposure
- - ...
--
-+
-
- FAQ :
- ----
-
- * I don't have a 2.4.x kernel !
--
-+
- If you use a 2.0 or 2.2 ... Upgrade ! If you use 2.6 ... Well this current version, it's not supported. I don't intent to add it ( so don't send patches, some people already did it and it's being included in the new driver ).
-
- * When will the new driver be ready ?
-diff -Naur nw802-2.4-0.0.99/SpaceCam.init nw802-2.4/SpaceCam.init
---- nw802-2.4-0.0.99/SpaceCam.init 1970-01-01 01:00:00.000000000 +0100
-+++ nw802-2.4/SpaceCam.init 2003-10-28 00:25:17.000000000 +0100
-@@ -0,0 +1,214 @@
-+ { 0x0405, 0x0000, 0x0001,
-+ { 0x61 } },
-+ { 0x404, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x04 } },
-+ { 0x0404, 0x0000, 0x0003,
-+ { 0x00, 0x00, 0x00 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x44 } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x0000, 0x0000, 0x0040,
-+ { 0x14, 0x83, 0x00, 0xba, 0x01, 0x10, 0x00, 0x4f,
-+ 0xef, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x06, 0x00, 0xfc,
-+ 0x01, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
-+ 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
-+ { 0x0040, 0x0000, 0x0040,
-+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
-+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
-+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
-+ { 0x0080, 0x0000, 0x001f,
-+ { 0xb8, 0x48, 0x0f, 0x04, 0x88, 0x14, 0x68, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0x01, 0x00, 0x03,
-+ 0x00, 0x24, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
-+ 0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
-+ { 0x0200, 0x0000, 0x0012,
-+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
-+ 0x40, 0x20 } },
-+ { 0x0300, 0x0000, 0x0003,
-+ { 0x03, 0x00, 0x00 } },
-+ { 0x0400, 0x0000, 0x0007,
-+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0x00 } },
-+ { 0x0500, 0x0000, 0x0006,
-+ { 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 } },
-+ { 0x0600, 0x0000, 0x001b,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00 } },
-+ { 0x0800, 0x0000, 0x0015,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
-+ { 0x1000, 0x0000, 0x0040,
-+ { 0x80, 0x02, 0x20, 0x00, 0x13, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
-+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
-+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
-+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
-+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
-+ { 0x1040, 0x0000, 0x0040,
-+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
-+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
-+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
-+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
-+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
-+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
-+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
-+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
-+ { 0x1080, 0x0000, 0x001d,
-+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x62,
-+ 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
-+ 0x01, 0x60, 0x01, 0x00, 0x00 } },
-+ { 0x1085, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
-+ { 0x0404, 0x0000, 0x0001,
-+ { 0x40 } },
-+ { 0x0404, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x0600, 0x0000, 0x000b,
-+ { 0xc0, 0x12, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00,
-+ 0x00, 0x05, 0x05 } },
-+ { 0x0600, 0x0000, 0x000c,
-+ { 0x02, 0x0c, 0x12, 0x07, 0x00, 0x00, 0x00, 0x05,
-+ 0x00, 0x00, 0x05, 0x05 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x0c, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x06 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x11, 0x06 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x14, 0x00 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x13, 0x01 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0200, 0x0000, 0x0011,
-+ { 0x48, 0x58, 0x9e, 0x48, 0x58, 0x00, 0x00, 0x00,
-+ 0x00, 0x84, 0x36, 0x05, 0x01, 0xf2, 0x86, 0x65,
-+ 0x40 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x0c } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x02, 0x0c } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x0f, 0x00 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x13, 0x01 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x1000, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x108f, 0x0000, 0x000c,
-+ { 0x62, 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01,
-+ 0x20, 0x01, 0x60, 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x0f } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x05, 0x0f } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x13, 0x01 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0006,
-+ { 0x0b, 0x0f, 0x05, 0x05, 0x0f, 0x00 } },
-+ { 0x0600, 0x0000, 0x0007,
-+ { 0x09, 0x0b, 0x0f, 0x05, 0x05, 0x0f, 0x00 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x07, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x04, 0x01 } },
-+ { 0x0600, 0x0000, 0x0003,
-+ { 0x12, 0x04, 0x01 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x03, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x1011, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
-+ { 0x100e, 0x0000, 0x0001,
-+ { 0x08 } },
-+ { 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x17, 0x3f, 0x69, 0x7b, 0x8c, 0x9a, 0xa7,
-+ 0xb3, 0xbf, 0xc9, 0xd3, 0xdd, 0xe6, 0xef, 0xf7,
-+ 0xf9 } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x100f, 0x0000, 0x0002,
-+ { 0x13, 0x13 } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x06 } },
-+ { 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x17, 0x3f, 0x69, 0x7b, 0x8c, 0x9a, 0xa7,
-+ 0xb3, 0xbf, 0xc9, 0xd3, 0xdd, 0xe6, 0xef, 0xf7,
-+ 0xf9 } },
-+ { 0x100b, 0x0000, 0x0001,
-+ { 0x11 } },
-+ { 0x100d, 0x0000, 0x0001,
-+ { 0x10 } },
-+ { 0x100c, 0x0000, 0x0001,
-+ { 0x14 } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x03 } },
-+ { 0x0405, 0x0000, 0x0001,
-+ { 0x61 } },
-+ { 0x0404, 0x0000, 0x0001,
-+ { 0x00 } },
-diff -Naur nw802-2.4-0.0.99/trust_space.init nw802-2.4/trust_space.init
---- nw802-2.4-0.0.99/trust_space.init 1970-01-01 01:00:00.000000000 +0100
-+++ nw802-2.4/trust_space.init 2004-12-22 17:56:17.000000000 +0100
-@@ -0,0 +1,121 @@
-+// Trust Spacecam 120 ..item nr 13177. 8 713439 131772
-+{ 0x0405, 0x0000, 0x0001,
-+ { 0x01 } },
-+{ 0x0404, 0x0000, 0x0001,
-+ { 0x01 } },
-+{ 0x0406, 0x0000, 0x0001,
-+ { 0x04 } },
-+{ 0x0600, 0x0000, 0x0002,
-+ { 0x04, 0xd9 } },
-+{ 0x0404, 0x0000, 0x0003,
-+ { 0x00, 0x00, 0x00 } },
-+{ 0x0505, 0x0000, 0x0001,
-+ { 0x00 } },
-+{ 0x0406, 0x0000, 0x0001,
-+ { 0x44 } },
-+{ 0x0000, 0x0000, 0x0040,
-+ { 0x10, 0x43, 0x00, 0xc6, 0x01, 0x10, 0x00, 0x4f,
-+ 0xef, 0x0e, 0x00, 0x74, 0x01, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x3e, 0x00, 0x24,
-+ 0x03, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
-+ 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
-+{ 0x0040, 0x0000, 0x0040,
-+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
-+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
-+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
-+{ 0x0080, 0x0000, 0x001f,
-+ { 0xb0, 0x48, 0xc3, 0x02, 0x88, 0x0c, 0x68, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0x06, 0x00, 0x08,
-+ 0x00, 0x9c, 0x03, 0x01, 0x00, 0x16, 0x00, 0x04,
-+ 0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
-+{ 0x0200, 0x0000, 0x0012,
-+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
-+ 0x40, 0x20 } },
-+{ 0x0300, 0x0000, 0x0003,
-+ { 0x03, 0x00, 0x00 } },
-+{ 0x0400, 0x0000, 0x0007,
-+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 } },
-+{ 0x0500, 0x0000, 0x0006,
-+ { 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 } },
-+{ 0x0600, 0x0000, 0x001b,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00 } },
-+{ 0x0800, 0x0000, 0x0015,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
-+{ 0x1000, 0x0000, 0x0040,
-+ { 0x83, 0x02, 0x20, 0x00, 0x11, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x0a,
-+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x49, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
-+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
-+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x06,
-+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x10, 0x80 } },
-+{ 0x1040, 0x0000, 0x0040,
-+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
-+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
-+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
-+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
-+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
-+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
-+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
-+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
-+{ 0x1080, 0x0000, 0x001d,
-+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x62,
-+ 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
-+ 0x01, 0x60, 0x01, 0x00, 0x00 } },
-+{ 0x0406, 0x0000, 0x0001,
-+ { 0xc0 } },
-+{ 0x1085, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00, 0xef, 0x00 } },
-+{ 0x0200, 0x0000, 0x0011,
-+ { 0x48, 0x58, 0x9e, 0x48, 0x58, 0x00, 0x00, 0x00,
-+ 0x00, 0x84, 0x36, 0x05, 0x01, 0xf2, 0x86, 0x65,
-+ 0x40 } },
-+{ 0x108f, 0x0000, 0x000c,
-+ { 0x62, 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01,
-+ 0x20, 0x01, 0x60, 0x01 } },
-+{ 0x1011, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0x3f, 0x01 } },
-+{ 0x100e, 0x0000, 0x0001,
-+ { 0x08 } },
-+{ 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x40, 0x62, 0x7b, 0x91, 0xa3, 0xb3, 0xc2,
-+ 0xd0, 0xdd, 0xe9, 0xf5, 0xf9, 0xf9, 0xf9, 0xf9,
-+ 0xf9 } },
-+{ 0x1003, 0x0000, 0x0001,
-+ { 0x00 } },
-+{ 0x100f, 0x0000, 0x0002,
-+ { 0x0c, 0x0c } },
-+{ 0x1003, 0x0000, 0x0001,
-+ { 0x06 } },
-+{ 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x40, 0x62, 0x7b, 0x91, 0xa3, 0xb3, 0xc2,
-+ 0xd0, 0xdd, 0xe9, 0xf5, 0xf9, 0xf9, 0xf9, 0xf9,
-+ 0xf9 } },
-+{ 0x100b, 0x0000, 0x0001,
-+ { 0x0e } },
-+{ 0x100d, 0x0000, 0x0001,
-+ { 0x16 } },
-+{ 0x100c, 0x0000, 0x0001,
-+ { 0x10 } },
-+{ 0x0406, 0x0000, 0x0001,
-+ { 0xc3 } },
-+{ 0x0405, 0x0000, 0x0001,
-+ { 0x41 } },
-+{ 0x0404, 0x0000, 0x0001, // INIT_LENGT 36
-+ { 0x40 } },
-diff -Naur nw802-2.4-0.0.99/Twinkle.init nw802-2.4/Twinkle.init
---- nw802-2.4-0.0.99/Twinkle.init 1970-01-01 01:00:00.000000000 +0100
-+++ nw802-2.4/Twinkle.init 2003-11-15 22:21:15.000000000 +0100
-@@ -0,0 +1,240 @@
-+ { 0x0405, 0x0000, 0x0001,
-+ { 0x61 } },
-+ { 0x404, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x04 } },
-+ { 0x0404, 0x0000, 0x0003,
-+ { 0x00, 0x00, 0x00 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x44 } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x0000, 0x0000, 0x0040,
-+ { 0x14, 0x83, 0x00, 0xba, 0x01, 0x10, 0x00, 0x4f,
-+ 0xef, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 0x19,
-+ 0x00, 0x01, 0x00, 0x19, 0x00, 0x06, 0x00, 0xfc,
-+ 0x01, 0x3e, 0x00, 0x86, 0x00, 0x3e, 0x00, 0x86,
-+ 0x00, 0x3e, 0x00, 0x86, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x56, 0x00, 0x9e,
-+ 0x00, 0x56, 0x00, 0x9e, 0x00, 0x01, 0x00, 0x01 } },
-+ { 0x0040, 0x0000, 0x0040,
-+ { 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0x6e, 0x00, 0xb6, 0x00, 0x6e, 0x00, 0x78,
-+ 0x04, 0x6e, 0x00, 0xb6, 0x00, 0x01, 0x00, 0x01,
-+ 0x00, 0xca, 0x03, 0x46, 0x04, 0xca, 0x03, 0x46,
-+ 0x04, 0x10, 0x00, 0x36, 0x00, 0xd2, 0x00, 0xee,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xf0,
-+ 0x00, 0x3e, 0x00, 0xaa, 0x00, 0x88, 0x00, 0x2e } },
-+ { 0x0080, 0x0000, 0x001f,
-+ { 0xb8, 0x48, 0x0f, 0x04, 0x88, 0x14, 0x68, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0x01, 0x00, 0x03,
-+ 0x00, 0x24, 0x01, 0x01, 0x00, 0x16, 0x00, 0x04,
-+ 0x00, 0x4b, 0x00, 0x76, 0x00, 0x86, 0x00 } },
-+ { 0x0200, 0x0000, 0x0012,
-+ { 0x78, 0xa0, 0x9e, 0x78, 0xa0, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x18, 0x0b, 0x06, 0x62, 0x82, 0xa0,
-+ 0x40, 0x20 } },
-+ { 0x0300, 0x0000, 0x0003,
-+ { 0x03, 0x00, 0x00 } },
-+ { 0x0400, 0x0000, 0x0007,
-+ { 0x01, 0x10, 0x00, 0x00, 0x00, 0x61, 0x00 } },
-+ { 0x0500, 0x0000, 0x0006,
-+ { 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 } },
-+ { 0x0600, 0x0000, 0x001b,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00 } },
-+ { 0x0800, 0x0000, 0x0015,
-+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00 } },
-+ { 0x1000, 0x0000, 0x0040,
-+ { 0x80, 0x02, 0x20, 0x00, 0x11, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x08, 0x08,
-+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x49, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
-+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08,
-+ 0x03, 0x00, 0x00, 0x10, 0x00, 0x20, 0x10, 0x06,
-+ 0xf7, 0xee, 0x1c, 0x1c, 0xe9, 0xfc, 0x00, 0x80 } },
-+ { 0x1040, 0x0000, 0x0040,
-+ { 0x80, 0x00, 0x05, 0x35, 0x5e, 0x78, 0x8b, 0x99,
-+ 0xa4, 0xae, 0xb5, 0xbc, 0xc1, 0xc6, 0xc9, 0xcc,
-+ 0xcf, 0xd0, 0x00, 0x11, 0x22, 0x32, 0x43, 0x54,
-+ 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3, 0xd2,
-+ 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32, 0x43,
-+ 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3, 0xc3,
-+ 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x11, 0x22, 0x32,
-+ 0x43, 0x54, 0x64, 0x74, 0x84, 0x94, 0xa4, 0xb3 } },
-+ { 0x1080, 0x0000, 0x001d,
-+ { 0xc3, 0xd2, 0xe2, 0xf1, 0xff, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x62,
-+ 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01, 0x20,
-+ 0x01, 0x60, 0x01, 0x00, 0x00 } },
-+ { 0x1085, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
-+ { 0x0404, 0x0000, 0x0001,
-+ { 0x10 } },
-+ { 0x0404, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x0405, 0x0000, 0x0001,
-+ { 0x61 } },
-+ { 0x0404, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x000b,
-+ { 0xc0, 0x12, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x0a } },
-+ { 0x0600, 0x0000, 0x000c,
-+ { 0x02, 0x0c, 0x12, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x0a } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x0c, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x06 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x11, 0x06 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x14, 0x00 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x13, 0x01 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x07, 0x01 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0200, 0x0000, 0x0011,
-+ { 0x48, 0x58, 0x9e, 0x48, 0x58, 0x00, 0x00, 0x00,
-+ 0x00, 0x84, 0x36, 0x05, 0x01, 0xf2, 0x86, 0x65,
-+ 0x40 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x0c } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x02, 0x0c } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x13, 0x01 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x1000, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x108f, 0x0000, 0x000c,
-+ { 0x62, 0x01, 0x24, 0x01, 0x62, 0x01, 0x24, 0x01,
-+ 0x20, 0x01, 0x60, 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x0f } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x05, 0x0f } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x13, 0x01 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0006,
-+ { 0x04, 0x0b, 0x01, 0x01, 0x02, 0x17 } },
-+ { 0x0600, 0x0000, 0x0007,
-+ { 0x08, 0x04, 0x0b, 0x01, 0x01, 0x02, 0x17 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x08, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x00, 0x01 } },
-+ { 0x0600, 0x0000, 0x0003,
-+ { 0x12, 0x00, 0x01 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x03, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x1011, 0x0000, 0x0008,
-+ { 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x1f, 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x12, 0x00 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x0e, 0x00 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x0600, 0x0000, 0x0001,
-+ { 0x06 } },
-+ { 0x0600, 0x0000, 0x0002,
-+ { 0x11, 0x06 } },
-+ { 0x0502, 0x0000, 0x0002,
-+ { 0x02, 0x40 } },
-+ { 0x0505, 0x0000, 0x0001,
-+ { 0x01 } },
-+ { 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x17, 0x3f, 0x69, 0x7b, 0x8c, 0x9a, 0xa7,
-+ 0xb3, 0xbf, 0xc9, 0xd3, 0xdd, 0xe6, 0xef, 0xf7,
-+ 0xf9 } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x00 } },
-+ { 0x100f, 0x0000, 0x0002,
-+ { 0x0c, 0x0c } },
-+ { 0x1003, 0x0000, 0x0001,
-+ { 0x06 } },
-+ { 0x1041, 0x0000, 0x0011,
-+ { 0x00, 0x17, 0x3f, 0x69, 0x7b, 0x8c, 0x9a, 0xa7,
-+ 0xb3, 0xbf, 0xc9, 0xd3, 0xdd, 0xe6, 0xef, 0xf7,
-+ 0xf9 } },
-+ { 0x100b, 0x0000, 0x0001,
-+ { 0x19 } },
-+ { 0x100d, 0x0000, 0x0001,
-+ { 0x10 } },
-+ { 0x100c, 0x0000, 0x0001,
-+ { 0x0d } },
-+ { 0x0406, 0x0000, 0x0001,
-+ { 0x03 } },
-+ { 0x0405, 0x0000, 0x0001,
-+ { 0x61 } },
-+ { 0x0404, 0x0000, 0x0001,
-+ { 0x41 } },
diff --git a/package/nw802-2.4/patches/100-compile_fix.patch b/package/nw802-2.4/patches/100-compile_fix.patch
deleted file mode 100644
index 1f3d20c3e4..0000000000
--- a/package/nw802-2.4/patches/100-compile_fix.patch
+++ /dev/null
@@ -1,134 +0,0 @@
---- a/nw8xx_jpgl.c
-+++ b/nw8xx_jpgl.c
-@@ -111,18 +111,18 @@
- // Clamping table
- #define SAFE_CLAMP
- #ifdef SAFE_CLAMP
--inline unsigned char clamp(int x) {
-+inline unsigned char nw8xx_clamp(int x) {
- if ( x > 255 )
- return 255;
- if ( x < 0 )
- return 0;
- return x;
- }
--#define clamp_adjust(x) clamp(x+128)
-+#define nw8xx_clamp_adjust(x) nw8xx_clamp(x+128)
- #else
--#define clamp(x) clampTbl[(x)+512]
--#define clamp_adjust(x) clampTbl[(x)+640]
--static char clampTbl[1280];
-+#define nw8xx_clamp(x) nw8xx_clampTbl[(x)+512]
-+#define nw8xx_clamp_adjust(x) nw8xx_clampTbl[(x)+640]
-+static char nw8xx_clampTbl[1280];
- #endif
-
- // Code to initialize those tables
-@@ -195,19 +195,19 @@
- }
-
- #ifndef SAFE_CLAMP
--static void clampTbl_init(void)
-+static void nw8xx_clampTbl_init(void)
- {
- // Instead of doing if(...) to test for overrange, we use
-- // a clamping table
-+ // a nw8xx_clamping table
-
- int i;
-
- for (i=0 ; i < 512 ; i++)
-- clampTbl[i] = 0;
-+ nw8xx_clampTbl[i] = 0;
- for (i=512 ; i < 768 ; i++ )
-- clampTbl[i] = i - 512;
-+ nw8xx_clampTbl[i] = i - 512;
- for (i=768 ; i < 1280 ; i++ )
-- clampTbl[i] = 255;
-+ nw8xx_clampTbl[i] = 255;
-
- }
- #endif
-@@ -521,16 +521,16 @@
- for ( x=0 ; x<4 ; x++ )
- {
- // Y block
-- Yline[ 0] = clamp_adjust(block_y[block_idx ]);
-- Yline[ 4] = clamp_adjust(block_y[block_idx+16]);
-- Yline[ 8] = clamp_adjust(block_y[block_idx+32]);
-- Yline[12] = clamp_adjust(block_y[block_idx+48]);
-+ Yline[ 0] = nw8xx_clamp_adjust(block_y[block_idx ]);
-+ Yline[ 4] = nw8xx_clamp_adjust(block_y[block_idx+16]);
-+ Yline[ 8] = nw8xx_clamp_adjust(block_y[block_idx+32]);
-+ Yline[12] = nw8xx_clamp_adjust(block_y[block_idx+48]);
-
- // U block
-- *Uline = clamp_adjust(block_u[block_idx]);
-+ *Uline = nw8xx_clamp_adjust(block_u[block_idx]);
-
- // V block
-- *Vline = clamp_adjust(block_v[block_idx]);
-+ *Vline = nw8xx_clamp_adjust(block_v[block_idx]);
-
- // Ajust pointers & index
- block_idx++;
-@@ -596,9 +596,9 @@
- vc = Vline[0];
-
- // B G R
-- *(fb++) = clamp(( yc + yuvTbl_v2[vc] ) >> 16);
-- *(fb++) = clamp(( yc - yuvTbl_u2[uc] - yuvTbl_v1[vc] ) >> 16);
-- *(fb++) = clamp(( yc + yuvTbl_u1[uc] ) >> 16);
-+ *(fb++) = nw8xx_clamp(( yc + yuvTbl_v2[vc] ) >> 16);
-+ *(fb++) = nw8xx_clamp(( yc - yuvTbl_u2[uc] - yuvTbl_v1[vc] ) >> 16);
-+ *(fb++) = nw8xx_clamp(( yc + yuvTbl_u1[uc] ) >> 16);
- #ifdef _JPGL_TEST_
- fb++;
- #endif
-@@ -609,9 +609,9 @@
- vc = ( 3*Vline[0] + Vline[1] ) >> 2;
-
- // B G R
-- *(fb++) = clamp(( yc + yuvTbl_v2[vc] ) >> 16);
-- *(fb++) = clamp(( yc - yuvTbl_u2[uc] - yuvTbl_v1[vc] ) >> 16);
-- *(fb++) = clamp(( yc + yuvTbl_u1[uc] ) >> 16);
-+ *(fb++) = nw8xx_clamp(( yc + yuvTbl_v2[vc] ) >> 16);
-+ *(fb++) = nw8xx_clamp(( yc - yuvTbl_u2[uc] - yuvTbl_v1[vc] ) >> 16);
-+ *(fb++) = nw8xx_clamp(( yc + yuvTbl_u1[uc] ) >> 16);
- #ifdef _JPGL_TEST_
- fb++;
- #endif
-@@ -622,9 +622,9 @@
- vc = ( Vline[0] + Vline[1] ) >> 1;
-
- // B G R
-- *(fb++) = clamp(( yc + yuvTbl_v2[vc] ) >> 16);
-- *(fb++) = clamp(( yc - yuvTbl_u2[uc] - yuvTbl_v1[vc] ) >> 16);
-- *(fb++) = clamp(( yc + yuvTbl_u1[uc] ) >> 16);
-+ *(fb++) = nw8xx_clamp(( yc + yuvTbl_v2[vc] ) >> 16);
-+ *(fb++) = nw8xx_clamp(( yc - yuvTbl_u2[uc] - yuvTbl_v1[vc] ) >> 16);
-+ *(fb++) = nw8xx_clamp(( yc + yuvTbl_u1[uc] ) >> 16);
- #ifdef _JPGL_TEST_
- fb++;
- #endif
-@@ -635,9 +635,9 @@
- vc = ( Vline[0] + 3*Vline[1] ) >> 2;
-
- // B G R
-- *(fb++) = clamp(( yc + yuvTbl_v2[vc] ) >> 16);
-- *(fb++) = clamp(( yc - yuvTbl_u2[uc] - yuvTbl_v1[vc] ) >> 16);
-- *(fb++) = clamp(( yc + yuvTbl_u1[uc] ) >> 16);
-+ *(fb++) = nw8xx_clamp(( yc + yuvTbl_v2[vc] ) >> 16);
-+ *(fb++) = nw8xx_clamp(( yc - yuvTbl_u2[uc] - yuvTbl_v1[vc] ) >> 16);
-+ *(fb++) = nw8xx_clamp(( yc + yuvTbl_u1[uc] ) >> 16);
- #ifdef _JPGL_TEST_
- fb++;
- #endif
-@@ -707,6 +707,6 @@
- vlcTbl_init();
- yuvTbl_init();
- #ifndef SAFE_CLAMP
-- clampTbl_init();
-+ nw8xx_clampTbl_init();
- #endif
- }
diff --git a/package/ov51x-jpeg/Makefile b/package/ov51x-jpeg/Makefile
deleted file mode 100644
index 7bd06d9d66..0000000000
--- a/package/ov51x-jpeg/Makefile
+++ /dev/null
@@ -1,76 +0,0 @@
-#
-# Copyright (C) 2007-2008 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-# $Id$
-
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=ov51x-jpeg
-PKG_VERSION:=1.5.7
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.rastageeks.org/downloads/ov51x-jpeg/ \
- http://www.rastageeks.org/downloads/ov51x-jpeg/old-releases/
-PKG_MD5SUM:=7de1f426a48bdb55218913e2d713f813
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/ov51x-jpeg/Default
- URL:=http://www.rastageeks.org/ov51x-jpeg/
-endef
-
-define Package/ov51x-jpeg-utils
-$(call Package/ov51x-jpeg/Default)
- SECTION:=utils
- CATEGORY:=Utilities
- TITLE:=OV51x based USB webcam utilities
- DEPENDS:=+kmod-video-ov51x-jpeg
-endef
-
-define Package/ov51x-jpeg-utils/description
- Utility programs for the video-ov51x kernel module
-endef
-
-define KernelPackage/video-ov51x-jpeg
-$(call Package/ov51x-jpeg/Default)
- SUBMENU:=Video Support
- TITLE:=OV51x based USB webcam support (JPEG)
- DEPENDS:=@LINUX_2_6 @USB_SUPPORT +kmod-usb-core kmod-video-core
- FILES:=$(PKG_BUILD_DIR)/ov51x-jpeg.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,70,ov51x-jpeg)
-endef
-
-define KernelPackage/video-ov51x-jpeg/description
- Kernel module for OV51x based USB cameras, with in-driver JPEG support.
-endef
-
-ifneq ($(CONFIG_PACKAGE_kmod-video-ov51x-jpeg),)
- define Build/Compile/kmod
- $(MAKE) -C $(LINUX_DIR) \
- ARCH="$(LINUX_KARCH)" \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- SUBDIRS="$(PKG_BUILD_DIR)" \
- modules
- endef
-endif
-
-define Build/Compile
- $(call Build/Compile/kmod)
- $(MAKE) -C $(PKG_BUILD_DIR)/test \
- CFLAGS="$(TARGET_CFLAGS)" \
- CC="$(TARGET_CC)" \
- getjpeg
-endef
-
-define Package/ov51x-jpeg-utils/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/test/getjpeg $(1)/usr/bin/
-endef
-
-$(eval $(call BuildPackage,ov51x-jpeg-utils))
-$(eval $(call KernelPackage,video-ov51x-jpeg))
diff --git a/package/ov51x-jpeg/patches/100-compile_fix.patch b/package/ov51x-jpeg/patches/100-compile_fix.patch
deleted file mode 100644
index 56bdf906e1..0000000000
--- a/package/ov51x-jpeg/patches/100-compile_fix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/ov51x-jpeg-core.c
-+++ b/ov51x-jpeg-core.c
-@@ -753,7 +753,7 @@
- * -claudio
- */
-
-- ov51x_jpeg_proc_entry = create_proc_entry("ov51x-jpeg", S_IFDIR, &proc_root);
-+ ov51x_jpeg_proc_entry = create_proc_entry("ov51x-jpeg", S_IFDIR, NULL);
- if (ov51x_jpeg_proc_entry)
- ov51x_jpeg_proc_entry->owner = THIS_MODULE;
- else
-@@ -771,7 +771,7 @@
-
- /* Destroy proc entry */
- PDEBUG(4, "destroying /proc/ov51x-jpeg");
-- remove_proc_entry("ov51x-jpeg", &proc_root);
-+ remove_proc_entry("ov51x-jpeg", NULL);
- ov51x_jpeg_proc_entry = NULL;
-
- }
diff --git a/package/spca5xx-le/Makefile b/package/spca5xx-le/Makefile
deleted file mode 100644
index 1e53821f35..0000000000
--- a/package/spca5xx-le/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# Copyright (C) 2006 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-# $Id: Makefile 7137 2007-05-08 18:40:02Z nbd $
-
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=spca5xx-le
-PKG_VERSION:=1
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME).tar.bz2
-PKG_SOURCE_URL:=http://www.acmesystems.it/download/owrt/
-PKG_MD5SUM:=
-
-PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)
-
-include $(INCLUDE_DIR)/package.mk
-
-define KernelPackage/video-spca5xx-le
- SUBMENU:=Video Support
- TITLE:=SPCA5xx based USB webcam support (Light Edition)
- URL:=http://mxhaard.free.fr/
- DEPENDS:=@LINUX_2_6_23||LINUX_2_6_24||LINUX_2_6_25 @USB_SUPPORT +kmod-usb-core kmod-video-core
- FILES:=$(PKG_BUILD_DIR)/spca5xx.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,90,spca5xx)
-endef
-
-define Build/Compile
- $(MAKE) -C $(LINUX_DIR) \
- ARCH="$(LINUX_KARCH)" \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- SUBDIRS="$(PKG_BUILD_DIR)" \
- modules
-endef
-
-$(eval $(call KernelPackage,video-spca5xx-le))
diff --git a/package/spca5xx-le/patches/100-compile_pud_shift.patch b/package/spca5xx-le/patches/100-compile_pud_shift.patch
deleted file mode 100644
index 91913a7993..0000000000
--- a/package/spca5xx-le/patches/100-compile_pud_shift.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Naur spca5xx-le/spca_core.c spca5xx-le-new/spca_core.c
---- spca5xx-le/spca_core.c 2007-06-03 21:30:29.000000000 +0100
-+++ spca5xx-le-new/spca_core.c 2008-01-06 12:48:08.000000000 +0000
-@@ -535,7 +535,7 @@
-
- if (!pgd_none (*pgd))
- {
--#if PUD_SHIFT
-+#ifdef PUD_SHIFT
- pud_t *pud = pud_offset (pgd, adr);
- if (!pud_none (*pud))
- {
-@@ -552,7 +552,7 @@
- ret = (unsigned long) page_address (pte_page (pte));
- ret |= (adr & (PAGE_SIZE - 1));
- }
--#if PUD_SHIFT
-+#ifdef PUD_SHIFT
- }
- #endif
- }
diff --git a/package/spca5xx-le/patches/101-linux_2_6.patch b/package/spca5xx-le/patches/101-linux_2_6.patch
deleted file mode 100644
index be0679f678..0000000000
--- a/package/spca5xx-le/patches/101-linux_2_6.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ruN spca5xx-le-orig/spca_core.c spca5xx-le/spca_core.c
---- spca5xx-le-orig/spca_core.c 2008-04-12 18:09:57.000000000 +0200
-+++ spca5xx-le/spca_core.c 2008-04-12 18:16:45.000000000 +0200
-@@ -2799,7 +2799,9 @@
- .owner = THIS_MODULE,
- .name = "SPCA5XX USB Camera",
- .type = VID_TYPE_CAPTURE,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
- .hardware = VID_HARDWARE_SPCA5XX,
-+#endif
- .fops = &spca5xx_fops,
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)
- .release = video_device_release,
diff --git a/package/spca5xx-view/Makefile b/package/spca5xx-view/Makefile
deleted file mode 100644
index e73d709f59..0000000000
--- a/package/spca5xx-view/Makefile
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# Copyright (C) 2006 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-# $Id: Makefile 7006 2007-04-19 12:06:39Z kaloz $
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=spca5xx-view
-PKG_VERSION:=1
-PKG_RELEASE:=1
-
-PKG_SOURCE:=spca5xx-view.tar.bz2
-PKG_SOURCE_URL:=http://www.acmesystems.it/download/owrt
-PKG_MD5SUM:=
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/spca5xx-view
- SECTION:=utils
- CATEGORY:=Utilities
- TITLE:=spca5xx streaming applicaton
- DEPENDS:=+kmod-video-spca5xx-le +libpthread
- URL:=http://www.acmesystems.it/
-endef
-
-define Package/spca5xx-view/description
- This package contains a streaming daemon for spca5xx based webcams
-endef
-
-define Build/Compile
- $(MAKE) -C $(PKG_BUILD_DIR)/servfox/ CFLAGS="$(TARTGET_CFLAGS)" CC="$(TARGET_CC)" all
- $(MAKE) -C $(PKG_BUILD_DIR)/servfox/ PREFIX="$(PKG_INSTALL_DIR)" install
-endef
-
-define Package/spca5xx-view/install
- $(INSTALL_DIR) $(1)/
- $(CP) $(PKG_INSTALL_DIR)/* $(1)
- $(INSTALL_DIR) $(1)/www/
- $(CP) $(PKG_BUILD_DIR)/html-files/* $(1)/www/
- $(INSTALL_DIR) $(1)/etc/config
- $(INSTALL_DATA) ./files/servfox.config $(1)/etc/config/servfox
- $(INSTALL_DIR) $(1)/etc/init.d
- $(INSTALL_BIN) ./files/servfox.init $(1)/etc/init.d/servfox
-endef
-
-$(eval $(call BuildPackage,spca5xx-view))
diff --git a/package/spca5xx-view/files/servfox.config b/package/spca5xx-view/files/servfox.config
deleted file mode 100644
index 3138bba88b..0000000000
--- a/package/spca5xx-view/files/servfox.config
+++ /dev/null
@@ -1,4 +0,0 @@
-config servfox
- option Device '/dev/video0'
- option Port '7070'
- option Resolution '640x480'
diff --git a/package/spca5xx-view/files/servfox.init b/package/spca5xx-view/files/servfox.init
deleted file mode 100644
index 072e595b3f..0000000000
--- a/package/spca5xx-view/files/servfox.init
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006 OpenWrt.org
-START=90
-
-config_cb() {
- local cfg="$CONFIG_SECTION"
- local res
- local dev
- local port
- local cfgt
- config_get cfgt "$cfg" TYPE
-
- case "$cfgt" in
- servfox)
- config_get res $cfg Resolution
- config_get dev $cfg Device
- config_get port $cfg Port
-
- SERVFOX_ARGS="${dev:+-d $dev} ${res:+-s $res} ${port:+-w $port}"
- ;;
- esac
-}
-
-start() {
- config_load servfox
- /bin/servfox $SERVFOX_ARGS &
-}
-
-stop() {
- killall servfox
-}