media: saa7146: Convert timers to use timer_setup()
authorKees Cook <keescook@chromium.org>
Mon, 16 Oct 2017 23:10:42 +0000 (19:10 -0400)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 31 Oct 2017 10:40:08 +0000 (06:40 -0400)
In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly.

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/common/saa7146/saa7146_fops.c
drivers/media/common/saa7146/saa7146_vbi.c
drivers/media/common/saa7146/saa7146_video.c
include/media/drv-intf/saa7146_vv.h

index c4664f0..8c87d68 100644 (file)
@@ -163,9 +163,9 @@ void saa7146_buffer_next(struct saa7146_dev *dev,
        }
 }
 
-void saa7146_buffer_timeout(unsigned long data)
+void saa7146_buffer_timeout(struct timer_list *t)
 {
-       struct saa7146_dmaqueue *q = (struct saa7146_dmaqueue*)data;
+       struct saa7146_dmaqueue *q = from_timer(q, t, timeout);
        struct saa7146_dev *dev = q->dev;
        unsigned long flags;
 
index ae66c23..7fa3147 100644 (file)
@@ -366,8 +366,7 @@ static void vbi_init(struct saa7146_dev *dev, struct saa7146_vv *vv)
 
        INIT_LIST_HEAD(&vv->vbi_dmaq.queue);
 
-       setup_timer(&vv->vbi_dmaq.timeout, saa7146_buffer_timeout,
-                   (unsigned long)(&vv->vbi_dmaq));
+       timer_setup(&vv->vbi_dmaq.timeout, saa7146_buffer_timeout, 0);
        vv->vbi_dmaq.dev              = dev;
 
        init_waitqueue_head(&vv->vbi_wq);
index 51eeed8..2b631ea 100644 (file)
@@ -1201,8 +1201,7 @@ static void video_init(struct saa7146_dev *dev, struct saa7146_vv *vv)
 {
        INIT_LIST_HEAD(&vv->video_dmaq.queue);
 
-       setup_timer(&vv->video_dmaq.timeout, saa7146_buffer_timeout,
-                   (unsigned long)(&vv->video_dmaq));
+       timer_setup(&vv->video_dmaq.timeout, saa7146_buffer_timeout, 0);
        vv->video_dmaq.dev              = dev;
 
        /* set some default values */
index 926c5b1..17bbe38 100644 (file)
@@ -184,7 +184,7 @@ int saa7146_unregister_device(struct video_device *vid, struct saa7146_dev *dev)
 void saa7146_buffer_finish(struct saa7146_dev *dev, struct saa7146_dmaqueue *q, int state);
 void saa7146_buffer_next(struct saa7146_dev *dev, struct saa7146_dmaqueue *q,int vbi);
 int saa7146_buffer_queue(struct saa7146_dev *dev, struct saa7146_dmaqueue *q, struct saa7146_buf *buf);
-void saa7146_buffer_timeout(unsigned long data);
+void saa7146_buffer_timeout(struct timer_list *t);
 void saa7146_dma_free(struct saa7146_dev* dev,struct videobuf_queue *q,
                                                struct saa7146_buf *buf);