diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2018-12-06 23:30:57 -0800 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2018-12-10 09:53:09 +0100 |
commit | d2184fff9369210653a07c90df11d8dc322b8b99 (patch) | |
tree | 1d394e1aad9c3075ff4dc1c1e438d5935c891ef5 /drivers/led | |
parent | bfbfe1e29902f4b23cd2d82609960de236fce43f (diff) | |
download | barebox-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.c | 5 |
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; |