media: dvb-core: Convert timers to use timer_setup()
PATCH 1/1 media: dvb-core: Convert timers to use timer_setup()
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 Mauro Carvalho Chehab <[email protected]>
Cc devendra sharma <[email protected]>
Signed-off-by Kees Cook <[email protected]>
--- drivers/media/dvb-core/dmxdev.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
drivers/media/dvb-core/dmxdev.c +3 -5
@@ -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++;
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security