leds: ledtrig-transient: fix duration to be msec instead of jiffies
authorRob Herring <robh@kernel.org>
Tue, 10 Nov 2015 23:10:17 +0000 (17:10 -0600)
committerJacek Anaszewski <j.anaszewski@samsung.com>
Mon, 4 Jan 2016 08:57:36 +0000 (09:57 +0100)
The transient trigger duration is documented to be in msec units, but is
actually in jiffies units. Other time based triggers are in msec units
as well. Fix the timer setup to convert from msec.

This could break an existing userspace that worked around this problem,
but exposing jiffies to userspace is just wrong and would break anyway
if HZ is changed.

Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Shuah Khan <shuahkhan@gmail.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: linux-leds@vger.kernel.org
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
drivers/leds/trigger/ledtrig-transient.c

index 1dddd8f63e2ac26e3a3b3940a6174a1960f79a0b..7e6011bd36465517fc6840e7eae2b818aa0c9b12 100644 (file)
@@ -85,7 +85,7 @@ static ssize_t transient_activate_store(struct device *dev,
                transient_data->restore_state =
                    (transient_data->state == LED_FULL) ? LED_OFF : LED_FULL;
                mod_timer(&transient_data->timer,
-                         jiffies + transient_data->duration);
+                         jiffies + msecs_to_jiffies(transient_data->duration));
        }
 
        /* state == 0 && transient_data->activate == 0