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:

committed by
Jacek Anaszewski

parent
3f3d60d625
commit
49404665b9
@@ -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;
|
||||
|
Reference in New Issue
Block a user