summaryrefslogtreecommitdiffstats
path: root/drivers/led
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2018-12-06 23:30:57 -0800
committerSascha Hauer <s.hauer@pengutronix.de>2018-12-10 09:53:09 +0100
commitd2184fff9369210653a07c90df11d8dc322b8b99 (patch)
tree1d394e1aad9c3075ff4dc1c1e438d5935c891ef5 /drivers/led
parentbfbfe1e29902f4b23cd2d82609960de236fce43f (diff)
downloadbarebox-d2184fff9369210653a07c90df11d8dc322b8b99.tar.gz
barebox-d2184fff9369210653a07c90df11d8dc322b8b99.tar.xz
led: core: Don't call get_time_us() twice
The code doesn't seem to be time-sensitive enough to warrant calling get_time_ns() twice instead of caching its value and using it no both places. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/led')
-rw-r--r--drivers/led/core.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/led/core.c b/drivers/led/core.c
index a388e6b365..f11504acee 100644
--- a/drivers/led/core.c
+++ b/drivers/led/core.c
@@ -127,12 +127,13 @@ static void led_blink_func(struct poller_struct *poller)
struct led *led;
list_for_each_entry(led, &leds, list) {
+ const uint64_t now = get_time_ns();
int on;
if (!led->blink && !led->flash)
continue;
- if (led->blink_next_event > get_time_ns()) {
+ if (led->blink_next_event > now) {
continue;
}
@@ -140,7 +141,7 @@ static void led_blink_func(struct poller_struct *poller)
if (on)
on = led->max_value;
- led->blink_next_event = get_time_ns() +
+ led->blink_next_event = now +
(led->blink_states[led->blink_next_state] * MSECOND);
led->blink_next_state = (led->blink_next_state + 1) %
led->blink_nr_states;