Browse Source

media: staging: atomisp: i2c: 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.

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>
Kees Cook 7 years ago
parent
commit
fdbc17101e
1 changed files with 3 additions and 5 deletions
  1. 3 5
      drivers/staging/media/atomisp/i2c/atomisp-lm3554.c

+ 3 - 5
drivers/staging/media/atomisp/i2c/atomisp-lm3554.c

@@ -167,10 +167,9 @@ static int lm3554_set_config1(struct lm3554 *flash)
 /* -----------------------------------------------------------------------------
 /* -----------------------------------------------------------------------------
  * Hardware trigger
  * 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;
 	struct lm3554_platform_data *pdata = flash->pdata;
 
 
 	gpio_set_value(pdata->gpio_strobe, 0);
 	gpio_set_value(pdata->gpio_strobe, 0);
@@ -908,8 +907,7 @@ static int lm3554_probe(struct i2c_client *client)
 
 
 	mutex_init(&flash->power_lock);
 	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);
 	err = lm3554_gpio_init(client);
 	if (err) {
 	if (err) {