summaryrefslogtreecommitdiff
path: root/linux/include/media
diff options
context:
space:
mode:
Diffstat (limited to 'linux/include/media')
-rw-r--r--linux/include/media/saa7146.h33
-rw-r--r--linux/include/media/tuner.h3
-rw-r--r--linux/include/media/video-buf-dvb.h4
-rw-r--r--linux/include/media/video-buf.h4
4 files changed, 36 insertions, 8 deletions
diff --git a/linux/include/media/saa7146.h b/linux/include/media/saa7146.h
index 760ae6324..be8b003c0 100644
--- a/linux/include/media/saa7146.h
+++ b/linux/include/media/saa7146.h
@@ -11,9 +11,13 @@
#include <linux/i2c.h> /* for i2c subsystem */
#include <asm/io.h> /* for accessing devices */
#include <linux/stringify.h>
+#include "compat.h"
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
+#include <linux/mutex.h>
+#endif
+
#include <linux/vmalloc.h> /* for vmalloc() */
#include <linux/mm.h> /* for vmalloc_to_page() */
-#include "compat.h"
#define SAA7146_VERSION_CODE 0x000500 /* 0.5.0 */
@@ -122,7 +126,11 @@ struct saa7146_dev
/* different device locks */
spinlock_t slock;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
+ struct mutex lock;
+#else
struct semaphore lock;
+#endif
unsigned char __iomem *mem; /* pointer to mapped IO memory */
int revision; /* chip revision; needed for bug-workarounds*/
@@ -143,15 +151,20 @@ struct saa7146_dev
void (*vv_callback)(struct saa7146_dev *dev, unsigned long status);
/* i2c-stuff */
- struct semaphore i2c_lock;
- u32 i2c_bitrate;
- struct saa7146_dma d_i2c; /* pointer to i2c memory */
- wait_queue_head_t i2c_wq;
- int i2c_op;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
+ struct mutex i2c_lock;
+#else
+ struct semaphore i2c_lock;
+#endif
+
+ u32 i2c_bitrate;
+ struct saa7146_dma d_i2c; /* pointer to i2c memory */
+ wait_queue_head_t i2c_wq;
+ int i2c_op;
/* memories */
- struct saa7146_dma d_rps0;
- struct saa7146_dma d_rps1;
+ struct saa7146_dma d_rps0;
+ struct saa7146_dma d_rps1;
};
/* from saa7146_i2c.c */
@@ -160,7 +173,11 @@ int saa7146_i2c_transfer(struct saa7146_dev *saa, const struct i2c_msg *msgs, in
/* from saa7146_core.c */
extern struct list_head saa7146_devices;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
+extern struct mutex saa7146_devices_lock;
+#else
extern struct semaphore saa7146_devices_lock;
+#endif
int saa7146_register_extension(struct saa7146_extension*);
int saa7146_unregister_extension(struct saa7146_extension*);
struct saa7146_format* format_by_fourcc(struct saa7146_dev *dev, int fourcc);
diff --git a/linux/include/media/tuner.h b/linux/include/media/tuner.h
index 50e3bd601..2e5e8c25c 100644
--- a/linux/include/media/tuner.h
+++ b/linux/include/media/tuner.h
@@ -118,6 +118,8 @@
#define TUNER_TNF_5335MF 69 /* Sabrent Bt848 */
#define TUNER_SAMSUNG_TCPN_2121P30A 70 /* Hauppauge PVR-500MCE NTSC */
+#define TUNER_XCEIVE_XC3028 71
+
/* tv card specific */
#define TDA9887_PRESENT (1<<0)
#define TDA9887_PORT1_INACTIVE (1<<1)
@@ -210,6 +212,7 @@ struct tuner {
extern unsigned const int tuner_count;
extern int microtune_init(struct i2c_client *c);
+extern int xc3028_init(struct i2c_client *c);
extern int tda8290_init(struct i2c_client *c);
extern int tda8290_probe(struct i2c_client *c);
extern int tea5767_tuner_init(struct i2c_client *c);
diff --git a/linux/include/media/video-buf-dvb.h b/linux/include/media/video-buf-dvb.h
index 94d16e0ed..8dcaad6a1 100644
--- a/linux/include/media/video-buf-dvb.h
+++ b/linux/include/media/video-buf-dvb.h
@@ -12,7 +12,11 @@ struct videobuf_dvb {
struct videobuf_queue dvbq;
/* video-buf-dvb state info */
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
+ struct mutex lock;
+#else
struct semaphore lock;
+#endif
struct task_struct *thread;
int nfeeds;
diff --git a/linux/include/media/video-buf.h b/linux/include/media/video-buf.h
index 6c1dc2777..dd2bb1800 100644
--- a/linux/include/media/video-buf.h
+++ b/linux/include/media/video-buf.h
@@ -178,7 +178,11 @@ struct videobuf_queue_ops {
};
struct videobuf_queue {
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
+ struct mutex lock;
+#else
struct semaphore lock;
+#endif
spinlock_t *irqlock;
struct pci_dev *pci;