diff options
Diffstat (limited to 'linux/drivers/media/video/saa7134/saa7134-empress.c')
-rw-r--r-- | linux/drivers/media/video/saa7134/saa7134-empress.c | 17 |
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; } |