diff options
28 files changed, 141 insertions, 4 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" |