leds: 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: Richard Purdie <rpurdie@rpsys.net>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Willy Tarreau <w@1wt.eu>
Cc: linux-leds@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
This commit is contained in:
Kees Cook
2017-10-25 03:30:01 -07:00
committed by Jacek Anaszewski
parent 3f3d60d625
commit 49404665b9
3 changed files with 18 additions and 15 deletions

View File

@@ -33,12 +33,14 @@ struct transient_trig_data {
int restore_state;
unsigned long duration;
struct timer_list timer;
struct led_classdev *led_cdev;
};
static void transient_timer_function(unsigned long data)
static void transient_timer_function(struct timer_list *t)
{
struct led_classdev *led_cdev = (struct led_classdev *) data;
struct transient_trig_data *transient_data = led_cdev->trigger_data;
struct transient_trig_data *transient_data =
from_timer(transient_data, t, timer);
struct led_classdev *led_cdev = transient_data->led_cdev;
transient_data->activate = 0;
led_set_brightness_nosleep(led_cdev, transient_data->restore_state);
@@ -169,6 +171,7 @@ static void transient_trig_activate(struct led_classdev *led_cdev)
return;
}
led_cdev->trigger_data = tdata;
tdata->led_cdev = led_cdev;
rc = device_create_file(led_cdev->dev, &dev_attr_activate);
if (rc)
@@ -182,8 +185,7 @@ static void transient_trig_activate(struct led_classdev *led_cdev)
if (rc)
goto err_out_state;
setup_timer(&tdata->timer, transient_timer_function,
(unsigned long) led_cdev);
timer_setup(&tdata->timer, transient_timer_function, 0);
led_cdev->activated = true;
return;