media: staging: atomisp: i2c: Convert timers to use timer_setup()
authorKees Cook <keescook@chromium.org>
Tue, 24 Oct 2017 08:22:11 +0000 (04:22 -0400)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 31 Oct 2017 10:26:54 +0000 (06:26 -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: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/staging/media/atomisp/i2c/atomisp-lm3554.c

index a37ab5c..4fd9f53 100644 (file)
@@ -167,10 +167,9 @@ static int lm3554_set_config1(struct lm3554 *flash)
 /* -----------------------------------------------------------------------------
  * Hardware trigger
  */
-static void lm3554_flash_off_delay(long unsigned int arg)
+static void lm3554_flash_off_delay(struct timer_list *t)
 {
-       struct v4l2_subdev *sd = i2c_get_clientdata((struct i2c_client *)arg);
-       struct lm3554 *flash = to_lm3554(sd);
+       struct lm3554 *flash = from_timer(flash, t, flash_off_delay);
        struct lm3554_platform_data *pdata = flash->pdata;
 
        gpio_set_value(pdata->gpio_strobe, 0);
@@ -908,8 +907,7 @@ static int lm3554_probe(struct i2c_client *client)
 
        mutex_init(&flash->power_lock);
 
-       setup_timer(&flash->flash_off_delay, lm3554_flash_off_delay,
-                   (unsigned long)client);
+       timer_setup(&flash->flash_off_delay, lm3554_flash_off_delay, 0);
 
        err = lm3554_gpio_init(client);
        if (err) {