This converts to use setup_timer() to set callback and data, though it
doesn't look like this would have worked with timer checking enabled
since no init_timer() was ever called before.

Cc: Mats Randgaard <matra...@cisco.com>
Cc: Mauro Carvalho Chehab <mche...@kernel.org>
Cc: linux-media@vger.kernel.org
Signed-off-by: Kees Cook <keesc...@chromium.org>
---
 drivers/media/i2c/tc358743.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/i2c/tc358743.c b/drivers/media/i2c/tc358743.c
index 5788af238b86..94e722e0f4e0 100644
--- a/drivers/media/i2c/tc358743.c
+++ b/drivers/media/i2c/tc358743.c
@@ -1964,8 +1964,8 @@ static int tc358743_probe(struct i2c_client *client,
        } else {
                INIT_WORK(&state->work_i2c_poll,
                          tc358743_work_i2c_poll);
-               state->timer.data = (unsigned long)state;
-               state->timer.function = tc358743_irq_poll_timer;
+               setup_timer(&state->timer, tc358743_irq_poll_timer,
+                           (unsigned long)state);
                state->timer.expires = jiffies +
                                       msecs_to_jiffies(POLL_INTERVAL_MS);
                add_timer(&state->timer);
-- 
2.7.4

Reply via email to