summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux/drivers/media/radio/miropcm20-rds-core.c7
-rw-r--r--linux/drivers/media/radio/radio-aimslab.c4
-rw-r--r--linux/drivers/media/radio/radio-aztech.c4
-rw-r--r--linux/drivers/media/radio/radio-maestro.c8
-rw-r--r--linux/drivers/media/radio/radio-maxiradio.c8
-rw-r--r--linux/drivers/media/radio/radio-sf16fmi.c7
-rw-r--r--linux/drivers/media/radio/radio-sf16fmr2.c4
-rw-r--r--linux/drivers/media/radio/radio-typhoon.c4
-rw-r--r--linux/drivers/media/radio/radio-zoltrix.c4
-rw-r--r--linux/drivers/media/video/bw-qcam.c2
-rw-r--r--linux/drivers/media/video/bw-qcam.h4
-rw-r--r--linux/drivers/media/video/c-qcam.c6
-rw-r--r--linux/drivers/media/video/cpia.c3
-rw-r--r--linux/drivers/media/video/cpia.h12
-rw-r--r--linux/drivers/media/video/dabusb.c3
-rw-r--r--linux/drivers/media/video/dabusb.h4
-rw-r--r--linux/drivers/media/video/meye.h6
-rw-r--r--linux/drivers/media/video/ov511.h5
-rw-r--r--linux/drivers/media/video/pms.c6
-rw-r--r--linux/drivers/media/video/saa5246a.c9
-rw-r--r--linux/drivers/media/video/saa5249.c9
-rw-r--r--linux/drivers/media/video/se401.h6
-rw-r--r--linux/drivers/media/video/stv680.c2
-rw-r--r--linux/drivers/media/video/stv680.h4
-rw-r--r--linux/drivers/media/video/w9968cf.h5
-rw-r--r--linux/drivers/media/video/zoran.h4
-rw-r--r--linux/drivers/media/video/zoran_card.c2
-rw-r--r--linux/drivers/media/video/zoran_driver.c3
-rw-r--r--v4l/Makefile37
-rwxr-xr-xv4l/scripts/make_noconfig.pl3
-rw-r--r--v4l/versions.txt22
31 files changed, 194 insertions, 13 deletions
diff --git a/linux/drivers/media/radio/miropcm20-rds-core.c b/linux/drivers/media/radio/miropcm20-rds-core.c
index dfb8252b2..3f5aaf5fa 100644
--- a/linux/drivers/media/radio/miropcm20-rds-core.c
+++ b/linux/drivers/media/radio/miropcm20-rds-core.c
@@ -18,7 +18,10 @@
#include <linux/string.h>
#include <linux/init.h>
#include <linux/slab.h>
+#include "compat.h"
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
#include <asm/io.h>
#include "../../../sound/oss/aci.h"
@@ -26,7 +29,11 @@
#define DEBUG 0
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
static struct mutex aci_rds_mutex;
+#else
+static struct semaphore aci_rds_mutex;
+#endif
#define RDS_DATASHIFT 2 /* Bit 2 */
#define RDS_DATAMASK (1 << RDS_DATASHIFT)
diff --git a/linux/drivers/media/radio/radio-aimslab.c b/linux/drivers/media/radio/radio-aimslab.c
index 8e966733b..c167f19c0 100644
--- a/linux/drivers/media/radio/radio-aimslab.c
+++ b/linux/drivers/media/radio/radio-aimslab.c
@@ -44,7 +44,11 @@
static int io = CONFIG_RADIO_RTRACK_PORT;
static int radio_nr = -1;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
static struct mutex lock;
+#else
+static struct semaphore lock;
+#endif
struct rt_device
{
diff --git a/linux/drivers/media/radio/radio-aztech.c b/linux/drivers/media/radio/radio-aztech.c
index 3aa679a47..4a06891d8 100644
--- a/linux/drivers/media/radio/radio-aztech.c
+++ b/linux/drivers/media/radio/radio-aztech.c
@@ -43,7 +43,11 @@
static int io = CONFIG_RADIO_AZTECH_PORT;
static int radio_nr = -1;
static int radio_wait_time = 1000;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
static struct mutex lock;
+#else
+static struct semaphore lock;
+#endif
struct az_device
{
diff --git a/linux/drivers/media/radio/radio-maestro.c b/linux/drivers/media/radio/radio-maestro.c
index d93357579..dfa1e6ded 100644
--- a/linux/drivers/media/radio/radio-maestro.c
+++ b/linux/drivers/media/radio/radio-maestro.c
@@ -23,10 +23,12 @@
#include <linux/sched.h>
#include <asm/io.h>
#include <asm/uaccess.h>
-#include <linux/mutex.h>
#include <linux/pci.h>
#include "compat.h"
#include <linux/videodev.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
+#include <linux/mutex.h>
+#endif
#define DRIVER_VERSION "0.05"
@@ -106,7 +108,11 @@ struct radio_device {
muted, /* VIDEO_AUDIO_MUTE */
stereo, /* VIDEO_TUNER_STEREO_ON */
tuned; /* signal strength (0 or 0xffff) */
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex lock;
+#else
+ struct semaphore lock;
+#endif
};
static u32 radio_bits_get(struct radio_device *dev)
diff --git a/linux/drivers/media/radio/radio-maxiradio.c b/linux/drivers/media/radio/radio-maxiradio.c
index 2b83fa519..d9bfe3f32 100644
--- a/linux/drivers/media/radio/radio-maxiradio.c
+++ b/linux/drivers/media/radio/radio-maxiradio.c
@@ -37,10 +37,12 @@
#include <linux/sched.h>
#include <asm/io.h>
#include <asm/uaccess.h>
+#include "compat.h"
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
#include <linux/pci.h>
-#include "compat.h"
#include <linux/videodev.h>
/* version 0.75 Sun Feb 4 22:51:27 EET 2001 */
@@ -103,7 +105,11 @@ static struct radio_device
unsigned long freq;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex lock;
+#else
+ struct semaphore lock;
+#endif
} radio_unit = {0, 0, 0, 0, };
diff --git a/linux/drivers/media/radio/radio-sf16fmi.c b/linux/drivers/media/radio/radio-sf16fmi.c
index 90ecea017..62bb19d2c 100644
--- a/linux/drivers/media/radio/radio-sf16fmi.c
+++ b/linux/drivers/media/radio/radio-sf16fmi.c
@@ -25,8 +25,14 @@
#include <linux/isapnp.h>
#include <asm/io.h> /* outb, outb_p */
#include <asm/uaccess.h> /* copy to/from user */
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+static struct mutex lock;
+#else
+static struct semaphore lock;
+#endif
+
struct fmi_device
{
int port;
@@ -38,7 +44,6 @@ struct fmi_device
static int io = -1;
static int radio_nr = -1;
static struct pnp_dev *dev = NULL;
-static struct mutex lock;
/* freq is in 1/16 kHz to internal number, hw precision is 50 kHz */
/* It is only useful to give freq in intervall of 800 (=0.05Mhz),
diff --git a/linux/drivers/media/radio/radio-sf16fmr2.c b/linux/drivers/media/radio/radio-sf16fmr2.c
index f4d80c0e4..0bafd3267 100644
--- a/linux/drivers/media/radio/radio-sf16fmr2.c
+++ b/linux/drivers/media/radio/radio-sf16fmr2.c
@@ -20,9 +20,13 @@
#include <asm/uaccess.h> /* copy to/from user */
#include "compat.h"
#include <linux/videodev.h> /* kernel radio structs */
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
static struct mutex lock;
+#else
+static struct semaphore lock;
+#endif
#undef DEBUG
//#define DEBUG 1
diff --git a/linux/drivers/media/radio/radio-typhoon.c b/linux/drivers/media/radio/radio-typhoon.c
index 541072e7c..02cc2c093 100644
--- a/linux/drivers/media/radio/radio-typhoon.c
+++ b/linux/drivers/media/radio/radio-typhoon.c
@@ -60,7 +60,11 @@ struct typhoon_device {
int muted;
unsigned long curfreq;
unsigned long mutefreq;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex lock;
+#else
+ struct semaphore lock;
+#endif
};
static void typhoon_setvol_generic(struct typhoon_device *dev, int vol);
diff --git a/linux/drivers/media/radio/radio-zoltrix.c b/linux/drivers/media/radio/radio-zoltrix.c
index d428514c7..e8363cf6b 100644
--- a/linux/drivers/media/radio/radio-zoltrix.c
+++ b/linux/drivers/media/radio/radio-zoltrix.c
@@ -49,7 +49,11 @@ struct zol_device {
unsigned long curfreq;
int muted;
unsigned int stereo;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex lock;
+#else
+ struct semaphore lock;
+#endif
};
static int zol_setvol(struct zol_device *dev, int vol)
diff --git a/linux/drivers/media/video/bw-qcam.c b/linux/drivers/media/video/bw-qcam.c
index 0a276d967..25ce06421 100644
--- a/linux/drivers/media/video/bw-qcam.c
+++ b/linux/drivers/media/video/bw-qcam.c
@@ -74,7 +74,9 @@ OTHER DEALINGS IN THE SOFTWARE.
#include <linux/sched.h>
#include "compat.h"
#include <linux/videodev.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
#include <asm/uaccess.h>
#include "bw-qcam.h"
diff --git a/linux/drivers/media/video/bw-qcam.h b/linux/drivers/media/video/bw-qcam.h
index 6701dafbc..f023c465f 100644
--- a/linux/drivers/media/video/bw-qcam.h
+++ b/linux/drivers/media/video/bw-qcam.h
@@ -55,7 +55,11 @@ struct qcam_device {
struct video_device vdev;
struct pardevice *pdev;
struct parport *pport;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex lock;
+#else
+ struct semaphore lock;
+#endif
int width, height;
int bpp;
int mode;
diff --git a/linux/drivers/media/video/c-qcam.c b/linux/drivers/media/video/c-qcam.c
index c1957a143..5cfbb30e5 100644
--- a/linux/drivers/media/video/c-qcam.c
+++ b/linux/drivers/media/video/c-qcam.c
@@ -35,7 +35,9 @@
#include <linux/sched.h>
#include "compat.h"
#include <linux/videodev.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
#include <asm/uaccess.h>
@@ -49,7 +51,11 @@ struct qcam_device {
int contrast, brightness, whitebal;
int top, left;
unsigned int bidirectional;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex lock;
+#else
+ struct semaphore lock;
+#endif
};
/* cameras maximum */
diff --git a/linux/drivers/media/video/cpia.c b/linux/drivers/media/video/cpia.c
index b8d491311..d955004b7 100644
--- a/linux/drivers/media/video/cpia.c
+++ b/linux/drivers/media/video/cpia.c
@@ -39,7 +39,10 @@
#include <linux/pagemap.h>
#include <linux/delay.h>
#include <asm/io.h>
+#include "compat.h"
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
#ifdef CONFIG_KMOD
#include <linux/kmod.h>
diff --git a/linux/drivers/media/video/cpia.h b/linux/drivers/media/video/cpia.h
index 120b66388..b8539f244 100644
--- a/linux/drivers/media/video/cpia.h
+++ b/linux/drivers/media/video/cpia.h
@@ -48,7 +48,9 @@
#include <linux/videodev.h>
#include <linux/list.h>
#include <linux/smp_lock.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
struct cpia_camera_ops
{
@@ -248,7 +250,11 @@ enum v4l_camstates {
struct cam_data {
struct list_head cam_data_list;
- struct mutex busy_lock; /* guard against SMP multithreading */
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
+ struct mutex busy_lock; /* guard against SMP multithreading */
+#else
+ struct semaphore busy_lock; /* guard against SMP multithreading */
+#endif
struct cpia_camera_ops *ops; /* lowlevel driver operations */
void *lowlevel_data; /* private data for lowlevel driver */
u8 *raw_image; /* buffer for raw image data */
@@ -263,7 +269,11 @@ struct cam_data {
u8 mainsFreq; /* for flicker control */
/* proc interface */
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex param_lock; /* params lock for this camera */
+#else
+ struct semaphore param_lock; /* params lock for this camera */
+#endif
struct cam_params params; /* camera settings */
struct proc_dir_entry *proc_entry; /* /proc/cpia/videoX */
diff --git a/linux/drivers/media/video/dabusb.c b/linux/drivers/media/video/dabusb.c
index b9ba95f5e..5896b6d4b 100644
--- a/linux/drivers/media/video/dabusb.c
+++ b/linux/drivers/media/video/dabusb.c
@@ -38,7 +38,10 @@
#include <linux/delay.h>
#include <linux/usb.h>
#include <linux/smp_lock.h>
+#include "compat.h"
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
#include "dabusb.h"
#include "dabfirmware.h"
diff --git a/linux/drivers/media/video/dabusb.h b/linux/drivers/media/video/dabusb.h
index 00eb34c86..761461910 100644
--- a/linux/drivers/media/video/dabusb.h
+++ b/linux/drivers/media/video/dabusb.h
@@ -18,7 +18,11 @@ typedef enum { _stopped=0, _started } driver_state_t;
typedef struct
{
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex mutex;
+#else
+ struct semaphore mutex;
+#endif
struct usb_device *usbdev;
wait_queue_head_t wait;
wait_queue_head_t remove_ok;
diff --git a/linux/drivers/media/video/meye.h b/linux/drivers/media/video/meye.h
index 0d09a0e38..afd1aace1 100644
--- a/linux/drivers/media/video/meye.h
+++ b/linux/drivers/media/video/meye.h
@@ -260,7 +260,9 @@
/* private API definitions */
#include <linux/meye.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
/* Enable jpg software correction */
@@ -303,7 +305,11 @@ struct meye {
/* list of buffers */
struct meye_grab_buffer grab_buffer[MEYE_MAX_BUFNBRS];
int vma_use_count[MEYE_MAX_BUFNBRS]; /* mmap count */
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex lock; /* mutex for open/mmap... */
+#else
+ struct semaphore lock; /* mutex for open/mmap... */
+#endif
struct kfifo *grabq; /* queue for buffers to be grabbed */
spinlock_t grabq_lock; /* lock protecting the queue */
struct kfifo *doneq; /* queue for grabbed buffers */
diff --git a/linux/drivers/media/video/ov511.h b/linux/drivers/media/video/ov511.h
index 63da4e8d8..3f5078a85 100644
--- a/linux/drivers/media/video/ov511.h
+++ b/linux/drivers/media/video/ov511.h
@@ -6,7 +6,12 @@
#include <linux/videodev.h>
#include <linux/smp_lock.h>
#include <linux/usb.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#else
+/* Having a version check for each mutex defined is annoying */
+#define mutex semaphore
+#endif
#define OV511_DEBUG /* Turn on debug messages */
diff --git a/linux/drivers/media/video/pms.c b/linux/drivers/media/video/pms.c
index 7df71e084..e5d16a5d0 100644
--- a/linux/drivers/media/video/pms.c
+++ b/linux/drivers/media/video/pms.c
@@ -31,7 +31,9 @@
#include <linux/sched.h>
#include "compat.h"
#include <linux/videodev.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
#include <asm/uaccess.h>
@@ -47,7 +49,11 @@ struct pms_device
struct video_picture picture;
int height;
int width;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex lock;
+#else
+ struct semaphore lock;
+#endif
};
struct i2c_info
diff --git a/linux/drivers/media/video/saa5246a.c b/linux/drivers/media/video/saa5246a.c
index bfc970087..7aa9134a8 100644
--- a/linux/drivers/media/video/saa5246a.c
+++ b/linux/drivers/media/video/saa5246a.c
@@ -47,7 +47,9 @@
#include <linux/videotext.h>
#include "compat.h"
#include <linux/videodev.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
#include "saa5246a.h"
@@ -60,13 +62,20 @@ struct saa5246a_device
u8 pgbuf[NUM_DAUS][VTX_VIRTUALSIZE];
int is_searching[NUM_DAUS];
struct i2c_client *client;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex lock;
+#else
+ struct semaphore lock;
+#endif
};
static struct video_device saa_template; /* Declared near bottom */
/* Addresses to scan */
static unsigned short normal_i2c[] = { I2C_ADDRESS, I2C_CLIENT_END };
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13)
+static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
+#endif
I2C_CLIENT_INSMOD;
static struct i2c_client client_template;
diff --git a/linux/drivers/media/video/saa5249.c b/linux/drivers/media/video/saa5249.c
index 42c2052e4..6fd6e1626 100644
--- a/linux/drivers/media/video/saa5249.c
+++ b/linux/drivers/media/video/saa5249.c
@@ -57,7 +57,9 @@
#include <linux/videotext.h>
#include "compat.h"
#include <linux/videodev.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
#include <asm/io.h>
@@ -108,7 +110,11 @@ struct saa5249_device
int disp_mode;
int virtual_mode;
struct i2c_client *client;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex lock;
+#else
+ struct semaphore lock;
+#endif
};
@@ -135,6 +141,9 @@ static struct video_device saa_template; /* Declared near bottom */
/* Addresses to scan */
static unsigned short normal_i2c[] = {34>>1,I2C_CLIENT_END};
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13)
+static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
+#endif
I2C_CLIENT_INSMOD;
static struct i2c_client client_template;
diff --git a/linux/drivers/media/video/se401.h b/linux/drivers/media/video/se401.h
index a78aa0720..bf14af36d 100644
--- a/linux/drivers/media/video/se401.h
+++ b/linux/drivers/media/video/se401.h
@@ -6,7 +6,9 @@
#include "compat.h"
#include <linux/videodev.h>
#include <linux/smp_lock.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
#define se401_DEBUG /* Turn on debug messages */
@@ -191,7 +193,11 @@ struct usb_se401 {
int maxframesize;
int cframesize; /* current framesize */
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex lock;
+#else
+ struct semaphore lock;
+#endif
int user; /* user count for exclusive use */
int removed; /* device disconnected */
diff --git a/linux/drivers/media/video/stv680.c b/linux/drivers/media/video/stv680.c
index b33ed6f73..f0d5bd79b 100644
--- a/linux/drivers/media/video/stv680.c
+++ b/linux/drivers/media/video/stv680.c
@@ -68,7 +68,9 @@
#include "compat.h"
#include <linux/videodev.h>
#include <linux/usb.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
#include "stv680.h"
diff --git a/linux/drivers/media/video/stv680.h b/linux/drivers/media/video/stv680.h
index a08f1b08a..cbbcd4f25 100644
--- a/linux/drivers/media/video/stv680.h
+++ b/linux/drivers/media/video/stv680.h
@@ -118,7 +118,11 @@ struct usb_stv {
int origGain;
int origMode; /* original camera mode */
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex lock; /* to lock the structure */
+#else
+ struct semaphore lock; /* to lock the structure */
+#endif
int user; /* user count for exclusive use */
int removed; /* device disconnected */
int streaming; /* Are we streaming video? */
diff --git a/linux/drivers/media/video/w9968cf.h b/linux/drivers/media/video/w9968cf.h
index a89013fa3..f32a2d266 100644
--- a/linux/drivers/media/video/w9968cf.h
+++ b/linux/drivers/media/video/w9968cf.h
@@ -33,7 +33,12 @@
#include <linux/param.h>
#include <linux/types.h>
#include <linux/rwsem.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#else
+/* Having a version check for each mutex defined is annoying */
+#define mutex semaphore
+#endif
#include <media/ovcamchip.h>
diff --git a/linux/drivers/media/video/zoran.h b/linux/drivers/media/video/zoran.h
index 0166f555a..0dc51a46c 100644
--- a/linux/drivers/media/video/zoran.h
+++ b/linux/drivers/media/video/zoran.h
@@ -395,7 +395,11 @@ struct zoran {
struct videocodec *codec; /* video codec */
struct videocodec *vfe; /* video front end */
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex resource_lock; /* prevent evil stuff */
+#else
+ struct semaphore resource_lock; /* prevent evil stuff */
+#endif
u8 initialized; /* flag if zoran has been correctly initalized */
int user; /* number of current users */
diff --git a/linux/drivers/media/video/zoran_card.c b/linux/drivers/media/video/zoran_card.c
index 54c8b2a2c..a55bd31ea 100644
--- a/linux/drivers/media/video/zoran_card.c
+++ b/linux/drivers/media/video/zoran_card.c
@@ -48,7 +48,9 @@
#include <linux/interrupt.h>
#include <linux/video_decoder.h>
#include <linux/video_encoder.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
#include <asm/io.h>
diff --git a/linux/drivers/media/video/zoran_driver.c b/linux/drivers/media/video/zoran_driver.c
index b5a576a37..5ced8b516 100644
--- a/linux/drivers/media/video/zoran_driver.c
+++ b/linux/drivers/media/video/zoran_driver.c
@@ -81,7 +81,10 @@
#include <linux/video_decoder.h>
#include <linux/video_encoder.h>
+#include "compat.h"
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
#include "zoran.h"
#include "zoran_device.h"
#include "zoran_card.h"
diff --git a/v4l/Makefile b/v4l/Makefile
index f9c6fe516..8e4170277 100644
--- a/v4l/Makefile
+++ b/v4l/Makefile
@@ -21,14 +21,45 @@ default:: Makefile.media links .version
EXTRA_CFLAGS += -DDVB_CVS=1
EXTRA_CFLAGS += -I$(srctree)/drivers/media/dvb/dvb-core/
EXTRA_CFLAGS += -I$(srctree)/drivers/media/dvb/frontends/
+
+ifeq ($(CONFIG_VIDEO_ADV_DEBUG),y)
+ EXTRA_CFLAGS += -DCONFIG_VIDEO_ADV_DEBUG=1
+endif
+
+ifeq ($(CONFIG_XC3028),m)
+ EXTRA_CFLAGS += -DCONFIG_XC3028=1
+endif
+
ifeq ($(CONFIG_DVB_FIRESAT),m)
EXTRA_CFLAGS += -I$(srctree)/drivers/ieee1394/
endif
+ifeq ($(CONFIG_VIDEO_CX88_DVB),m)
+ EXTRA_CFLAGS += -DCONFIG_VIDEO_CX88_DVB_MODULE=1
+ EXTRA_CFLAGS += -DHAVE_CX22702=1
+ EXTRA_CFLAGS += -DHAVE_OR51132=1
+ EXTRA_CFLAGS += -DHAVE_LGDT330X=1
+ EXTRA_CFLAGS += -DHAVE_MT352=1
+ EXTRA_CFLAGS += -DHAVE_ZL10353=1
+ EXTRA_CFLAGS += -DHAVE_NXT200X=1
+ EXTRA_CFLAGS += -DHAVE_CX24123=1
+ EXTRA_CFLAGS += -DHAVE_VP3054_I2C=1
+endif
+
+ifeq ($(CONFIG_VIDEO_SAA7134_DVB),m)
+ EXTRA_CFLAGS += -DHAVE_MT352=1
+ EXTRA_CFLAGS += -DHAVE_TDA1004X=1
+ EXTRA_CFLAGS += -DHAVE_NXT200X=1
+endif
+
ifeq ($(CONFIG_VIDEO_BUF_DVB),m)
EXTRA_CFLAGS += -DHAVE_VIDEO_BUF_DVB=1
endif
+ifeq ($(CONFIG_DVB_AV7110_OSD),y)
+ EXTRA_CFLAGS += -DCONFIG_DVB_AV7110_OSD=1
+endif
+
ifeq ($(CONFIG_DVB_AV7110_FIRMWARE),y)
EXTRA_CFLAGS += -DCONFIG_DVB_AV7110_FIRMWARE_FILE
endif
@@ -200,6 +231,12 @@ config:: links .version
$(KDIR)/scripts/kconfig/conf Kconfig
./scripts/make_noconfig.pl
+menuconfig:: links .version
+ ./scripts/make_kconfig.pl
+ -ln -s /usr/src/linux-2.6.16/scripts/kconfig scripts/
+ $(KDIR)/scripts/kconfig/mconf Kconfig
+ ./scripts/make_noconfig.pl
+
allmodconfig:: links .version
./scripts/make_kconfig.pl
$(KDIR)/scripts/kconfig/conf -m Kconfig
diff --git a/v4l/scripts/make_noconfig.pl b/v4l/scripts/make_noconfig.pl
index 503653a4f..a47ca4acf 100755
--- a/v4l/scripts/make_noconfig.pl
+++ b/v4l/scripts/make_noconfig.pl
@@ -55,6 +55,9 @@ close IN;
open OUT,">.myconfig";
while ( my ($key, $value) = each(%config) ) {
+ if ($value eq "y") {
+ $value="m";
+ }
printf OUT "%-44s := %s\n",$key,$value;
}
close OUT;
diff --git a/v4l/versions.txt b/v4l/versions.txt
index 49622b7b9..255a31b17 100644
--- a/v4l/versions.txt
+++ b/v4l/versions.txt
@@ -3,12 +3,24 @@
# This is broken for a long time
VIDEO_ZR36120
-# Those are architecture-dependent
+# This is also marked as broken
VIDEO_PLANB
+
+# Those are architecture-dependent
VIDEO_VINO
VIDEO_M32R_AR_M64278
[2.6.16]
+VIDEO_USBVIDEO
+USB_VICAM
+USB_IBMCAM
+USB_KONICAWC
+USB_ET61X251
+USB_PWC
+USB_SN9C102
+USB_ZC0301
+
+[2.6.14]
VIDEO_ZORAN
VIDEO_ZORAN_BUZ
VIDEO_ZORAN_DC10
@@ -62,14 +74,6 @@ RADIO_TYPHOON_PORT
RADIO_TYPHOON_MUTEFREQ
RADIO_ZOLTRIX
RADIO_ZOLTRIX_PORT
-VIDEO_USBVIDEO
-USB_VICAM
-USB_IBMCAM
-USB_KONICAWC
-USB_ET61X251
-USB_PWC
-USB_SN9C102
-USB_ZC0301
[2.6.12]
VIDEO_VIVI