media: tvaudio: Convert timers to use timer_setup()
PATCH 1/1 media: tvaudio: 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]>
Signed-off-by Kees Cook <[email protected]>
--- drivers/media/i2c/tvaudio.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
drivers/media/i2c/tvaudio.c +3 -5
@@ -300,9 +300,9 @@ static int chip_cmd(struct CHIPSTATE *chip, char *name, audiocmd *cmd)* if available, ... */ -static void chip_thread_wake (unsigned long data) +static void chip_thread_wake (struct timer_list *t) { -struct CHIPSTATE *chip = (struct CHIPSTATE *)data; +struct CHIPSTATE *chip =from_timer (chip, t, wt);wake_up_process (chip->thread); }
@@ -1995,7 +1995,7 @@ static int tvaudio_probe(struct i2c_client *client, const struct i2c_device_id *v4l2_ctrl_handler_setup (&chip->hdl); chip->thread =NULL ; -init_timer (&chip->wt); +timer_setup (&chip->wt, chip_thread_wake,0 );if (desc->flags &CHIP_NEED_CHECKMODE ) {if (!desc->getrxsubchans || !desc->setaudmode) {/* This shouldn't be happen. Warn user, but keep working
@@ -2005,8 +2005,6 @@ static int tvaudio_probe(struct i2c_client *client, const struct i2c_device_id *return 0 ; }/* start async thread */ - chip->wt.function = chip_thread_wake; - chip->wt.data = (unsigned long )chip; chip->thread =kthread_run (chip_thread, chip,"%s" , client->name);if (IS_ERR (chip->thread)) {
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security