summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/saa7134/saa7134-empress.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/video/saa7134/saa7134-empress.c')
-rw-r--r--linux/drivers/media/video/saa7134/saa7134-empress.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/linux/drivers/media/video/saa7134/saa7134-empress.c b/linux/drivers/media/video/saa7134/saa7134-empress.c
index 690891588..8c12c2cc2 100644
--- a/linux/drivers/media/video/saa7134/saa7134-empress.c
+++ b/linux/drivers/media/video/saa7134/saa7134-empress.c
@@ -353,9 +353,18 @@ static struct video_device saa7134_empress_template =
.minor = -1,
};
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
static void empress_signal_update(void* data)
+#else
+static void empress_signal_update(struct work_struct *work)
+#endif
{
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
struct saa7134_dev* dev = (struct saa7134_dev*) data;
+#else
+ struct saa7134_dev* dev =
+ container_of(work, struct saa7134_dev, empress_workqueue);
+#endif
if (dev->nosignal) {
dprintk("no video signal\n");
@@ -390,7 +399,11 @@ static int empress_init(struct saa7134_dev *dev)
"%s empress (%s)", dev->name,
saa7134_boards[dev->board].name);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
INIT_WORK(&dev->empress_workqueue, empress_signal_update, (void*) dev);
+#else
+ INIT_WORK(&dev->empress_workqueue, empress_signal_update);
+#endif
err = video_register_device(dev->empress_dev,VFL_TYPE_GRABBER,
empress_nr[dev->nr]);
@@ -411,7 +424,11 @@ static int empress_init(struct saa7134_dev *dev)
sizeof(struct saa7134_buf),
dev);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
empress_signal_update(dev);
+#else
+ empress_signal_update(&dev->empress_workqueue);
+#endif
return 0;
}