]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
media: dvb-core: Convert timers to use timer_setup()
authorKees Cook <keescook@chromium.org>
Mon, 16 Oct 2017 23:10:47 +0000 (19:10 -0400)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 31 Oct 2017 10:40:30 +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.

Cc: devendra sharma <devendra.sharma9091@gmail.com>
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/dvb-core/dmxdev.c

index 18e4230865be3498e14e0c134b918fbeff0c47ff..3ddd44e1ee776d56b91889e265fd3936db8d09fb 100644 (file)
@@ -329,9 +329,9 @@ static int dvb_dmxdev_set_buffer_size(struct dmxdev_filter *dmxdevfilter,
        return 0;
 }
 
-static void dvb_dmxdev_filter_timeout(unsigned long data)
+static void dvb_dmxdev_filter_timeout(struct timer_list *t)
 {
-       struct dmxdev_filter *dmxdevfilter = (struct dmxdev_filter *)data;
+       struct dmxdev_filter *dmxdevfilter = from_timer(dmxdevfilter, t, timer);
 
        dmxdevfilter->buffer.error = -ETIMEDOUT;
        spin_lock_irq(&dmxdevfilter->dev->lock);
@@ -346,8 +346,6 @@ static void dvb_dmxdev_filter_timer(struct dmxdev_filter *dmxdevfilter)
 
        del_timer(&dmxdevfilter->timer);
        if (para->timeout) {
-               dmxdevfilter->timer.function = dvb_dmxdev_filter_timeout;
-               dmxdevfilter->timer.data = (unsigned long)dmxdevfilter;
                dmxdevfilter->timer.expires =
                    jiffies + 1 + (HZ / 2 + HZ * para->timeout) / 1000;
                add_timer(&dmxdevfilter->timer);
@@ -754,7 +752,7 @@ static int dvb_demux_open(struct inode *inode, struct file *file)
        dvb_ringbuffer_init(&dmxdevfilter->buffer, NULL, 8192);
        dmxdevfilter->type = DMXDEV_TYPE_NONE;
        dvb_dmxdev_filter_state_set(dmxdevfilter, DMXDEV_STATE_ALLOCATED);
-       init_timer(&dmxdevfilter->timer);
+       timer_setup(&dmxdevfilter->timer, dvb_dmxdev_filter_timeout, 0);
 
        dvbdev->users++;