From 13aac084f52613baf79f047bdac0b0decc2b37d2 Mon Sep 17 00:00:00 2001 From: Trent Piepho Date: Mon, 19 Feb 2007 19:01:09 -0800 Subject: compat: Fix compat stuff for usbvision and zr364xx From: Trent Piepho 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 --- linux/drivers/media/video/usbvision/usbvision-i2c.c | 1 + linux/drivers/media/video/zr364xx.c | 5 +++++ linux/include/media/v4l2-dev.h | 4 +++- v4l/compat.h | 6 ++++++ v4l/versions.txt | 1 + 5 files changed, 16 insertions(+), 1 deletion(-) 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 #include #include +#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 #include #include +#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 #if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0) #include +#endif #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15) #include -#endif +#else +#include #endif #include /* 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 -- cgit v1.2.3