summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrent Piepho <xyzzy@speakeasy.org>2007-02-19 19:01:09 -0800
committerTrent Piepho <xyzzy@speakeasy.org>2007-02-19 19:01:09 -0800
commit13aac084f52613baf79f047bdac0b0decc2b37d2 (patch)
treeb5211790cf77de69d3425d824bc8ef138fe91494
parent613018f65de3818251f3a07868d89893bb3a0068 (diff)
downloadmediapointer-dvb-s2-13aac084f52613baf79f047bdac0b0decc2b37d2.tar.gz
mediapointer-dvb-s2-13aac084f52613baf79f047bdac0b0decc2b37d2.tar.bz2
compat: Fix compat stuff for usbvision and zr364xx
From: Trent Piepho <xyzzy@speakeasy.org> compat.h was missing from usbvideo-i2c.c and zr364xx.c zr364xx.c needed the struct semaphore -> struct mutex compat check. Added an old i2c id to compat.h. These could be added to the Hg copy of linux/i2c-id.h instead? There's just this one so far. zr364xx needs 2.6.15 because of vm_insert_page(), so add to versions.txt Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
-rw-r--r--linux/drivers/media/video/usbvision/usbvision-i2c.c1
-rw-r--r--linux/drivers/media/video/zr364xx.c5
-rw-r--r--linux/include/media/v4l2-dev.h4
-rw-r--r--v4l/compat.h6
-rw-r--r--v4l/versions.txt1
5 files changed, 16 insertions, 1 deletions
diff --git a/linux/drivers/media/video/usbvision/usbvision-i2c.c b/linux/drivers/media/video/usbvision/usbvision-i2c.c
index 30cb93a70..7fc39605c 100644
--- a/linux/drivers/media/video/usbvision/usbvision-i2c.c
+++ b/linux/drivers/media/video/usbvision/usbvision-i2c.c
@@ -39,6 +39,7 @@
#include <linux/sched.h>
#include <linux/usb.h>
#include <linux/i2c.h>
+#include "compat.h"
#include "usbvision.h"
#define DBG_I2C 1<<0
diff --git a/linux/drivers/media/video/zr364xx.c b/linux/drivers/media/video/zr364xx.c
index 05ff49c29..2c9ac4cd2 100644
--- a/linux/drivers/media/video/zr364xx.c
+++ b/linux/drivers/media/video/zr364xx.c
@@ -34,6 +34,7 @@
#include <linux/slab.h>
#include <linux/proc_fs.h>
#include <media/v4l2-common.h>
+#include "compat.h"
/* Version Information */
@@ -103,7 +104,11 @@ struct zr364xx_camera {
int width;
int height;
int method;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex lock;
+#else
+ struct semaphore lock;
+#endif
};
diff --git a/linux/include/media/v4l2-dev.h b/linux/include/media/v4l2-dev.h
index 1734898b4..8b2382b89 100644
--- a/linux/include/media/v4l2-dev.h
+++ b/linux/include/media/v4l2-dev.h
@@ -16,9 +16,11 @@
#include <linux/fs.h>
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
#include <linux/device.h>
+#endif
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
-#endif
+#else
+#include <asm/semaphore.h>
#endif
#include <linux/compiler.h> /* need __user */
#ifdef CONFIG_VIDEO_V4L1_COMPAT
diff --git a/v4l/compat.h b/v4l/compat.h
index bdad519e9..25c11f460 100644
--- a/v4l/compat.h
+++ b/v4l/compat.h
@@ -74,6 +74,12 @@
# define I2C_M_IGNORE_NAK 0x1000
#endif
+/* v4l-dvb uses an out of kernel copy of i2c-id.h, which does not have
+ some stuff that previous versions of i2c-id.h defined. */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14) && defined(LINUX_I2C_ID_H)
+# define I2C_ALGO_BIT 0x010000
+#endif
+
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,9)
#define __le32 __u32
#endif
diff --git a/v4l/versions.txt b/v4l/versions.txt
index e30a74e85..07f8cdc38 100644
--- a/v4l/versions.txt
+++ b/v4l/versions.txt
@@ -43,6 +43,7 @@ USB_QUICKCAM_MESSENGER
[2.6.15]
USB_ZC0301
USB_ET61X251
+USB_ZR364XX
[2.6.12]
VIDEO_VIVI