summaryrefslogtreecommitdiff
path: root/board/rammus/led.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/rammus/led.c')
-rw-r--r--board/rammus/led.c48
1 files changed, 22 insertions, 26 deletions
diff --git a/board/rammus/led.c b/board/rammus/led.c
index e6187ce4b5..5ae415a61a 100644
--- a/board/rammus/led.c
+++ b/board/rammus/led.c
@@ -1,4 +1,4 @@
-/* Copyright 2017 The Chromium OS Authors. All rights reserved.
+/* Copyright 2017 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
@@ -23,9 +23,8 @@
#define LED_CHARGE_PULSE 10
#define LED_POWER_PULSE 15
-const enum ec_led_id supported_led_ids[] = {
- EC_LED_ID_POWER_LED,
- EC_LED_ID_BATTERY_LED};
+const enum ec_led_id supported_led_ids[] = { EC_LED_ID_POWER_LED,
+ EC_LED_ID_BATTERY_LED };
const int supported_led_ids_count = ARRAY_SIZE(supported_led_ids);
@@ -47,24 +46,20 @@ enum led_power_state {
};
static const struct {
- uint8_t led1:1;
- uint8_t led2:1;
-} led_chg_state_table[] = {
- [LED_STATE_DISCHARGE] = {LED_OFF, LED_OFF},
- [LED_STATE_CHARGE] = {LED_OFF, LED_ON},
- [LED_STATE_FULL] = {LED_ON, LED_OFF},
- [LED_STATE_ERROR_PHASE0] = {LED_OFF, LED_OFF},
- [LED_STATE_ERROR_PHASE1] = {LED_OFF, LED_ON}
-};
+ uint8_t led1 : 1;
+ uint8_t led2 : 1;
+} led_chg_state_table[] = { [LED_STATE_DISCHARGE] = { LED_OFF, LED_OFF },
+ [LED_STATE_CHARGE] = { LED_OFF, LED_ON },
+ [LED_STATE_FULL] = { LED_ON, LED_OFF },
+ [LED_STATE_ERROR_PHASE0] = { LED_OFF, LED_OFF },
+ [LED_STATE_ERROR_PHASE1] = { LED_OFF, LED_ON } };
static const struct {
- uint8_t led:1;
-} led_pwr_state_table[] = {
- [LED_STATE_S0] = {LED_ON},
- [LED_STATE_S3_PHASE0] = {LED_OFF},
- [LED_STATE_S3_PHASE1] = {LED_ON},
- [LED_STATE_S5] = {LED_OFF}
-};
+ uint8_t led : 1;
+} led_pwr_state_table[] = { [LED_STATE_S0] = { LED_ON },
+ [LED_STATE_S3_PHASE0] = { LED_OFF },
+ [LED_STATE_S3_PHASE1] = { LED_ON },
+ [LED_STATE_S5] = { LED_OFF } };
void led_get_brightness_range(enum ec_led_id led_id, uint8_t *brightness_range)
{
@@ -100,7 +95,7 @@ static void rammus_led_set_power(void)
chipset_state = chipset_in_state(CHIPSET_STATE_HARD_OFF) |
(chipset_in_state(CHIPSET_STATE_SOFT_OFF) << 1) |
- (chipset_in_state(CHIPSET_STATE_SUSPEND) << 2) |
+ (chipset_in_state(CHIPSET_STATE_SUSPEND) << 2) |
(chipset_in_state(CHIPSET_STATE_ON) << 3) |
(chipset_in_state(CHIPSET_STATE_STANDBY) << 4);
@@ -136,7 +131,7 @@ static void rammus_led_set_battery(void)
switch (chg_state) {
case PWR_STATE_DISCHARGE:
if ((charge_get_flags() & CHARGE_FLAG_EXTERNAL_POWER) &&
- charge_percent >= BATTERY_LEVEL_NEAR_FULL)
+ charge_percent >= BATTERY_LEVEL_NEAR_FULL)
config_battery_led(LED_STATE_FULL);
else
config_battery_led(LED_STATE_DISCHARGE);
@@ -154,10 +149,11 @@ static void rammus_led_set_battery(void)
break;
case PWR_STATE_CHARGE_NEAR_FULL:
case PWR_STATE_IDLE:
- if(charge_get_flags() & CHARGE_FLAG_EXTERNAL_POWER)
- config_battery_led(LED_STATE_FULL);
- else
- config_battery_led(LED_STATE_DISCHARGE);
+ config_battery_led(LED_STATE_DISCHARGE);
+ charge_ticks = 0;
+ break;
+ case PWR_STATE_FORCED_IDLE:
+ config_battery_led(LED_STATE_FULL);
charge_ticks = 0;
break;
default: