diff options
author | Duncan Laurie <dlaurie@chromium.org> | 2015-09-09 15:04:39 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2015-09-10 12:35:37 -0700 |
commit | 8900884cad3b34d4716c7ed262d60f8a8547b63b (patch) | |
tree | 643e9e42a19480d3cfb7c1a1618e85ba4d1f789b /board | |
parent | b0c82fb8a8ae50a500c0d41552ac07d90c72c4ad (diff) | |
download | chrome-ec-8900884cad3b34d4716c7ed262d60f8a8547b63b.tar.gz |
als: Disable task when host is not running
If the ALS is not enabled in S3/S5 states then it will generate
errors when trying to read so should be gated.
This could be done with a check for chipset_state or adding a
new CONFIG_ALS_POWER_GPIO to check. However the ALS is also not
needed when the host is in S3/S5 yet the task continues to run
in the background every 1 second.
This commit adds a new task enable/disable hook to disable the
task when the system is suspended and enable the task when it
is resumed.
In order to fit this new task in glados the als console command
is guarded by a new config option. Since this is not a very
frequently used/needed console command it is disabled by default.
And finally the kunimitsu and strago boards try to enable ALS
but they never actually enabled the ALS task so this new code was
failing to build because TASK_ID_ALS did not exist. Also samus
was enabling it but as TASK_NOTEST so tests will fail, though
they are disabled globally on samus.
BUG=chrome-os-partner:43493
BRANCH=none
TEST=enable ALS on glados and successfully build and use it,
also successfully build EC and tests for kunimitsu, strago,
and samus which are the other boards that use the ALS task.
Change-Id: I192940d7f306a1663c7cb789c313151bbb5f2b90
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/298156
Reviewed-by: Shawn N <shawnn@chromium.org>
Diffstat (limited to 'board')
-rw-r--r-- | board/kunimitsu/ec.tasklist | 1 | ||||
-rw-r--r-- | board/samus/ec.tasklist | 2 | ||||
-rw-r--r-- | board/strago/ec.tasklist | 1 |
3 files changed, 3 insertions, 1 deletions
diff --git a/board/kunimitsu/ec.tasklist b/board/kunimitsu/ec.tasklist index 175351e326..beeba5c264 100644 --- a/board/kunimitsu/ec.tasklist +++ b/board/kunimitsu/ec.tasklist @@ -18,6 +18,7 @@ */ #define CONFIG_TASK_LIST \ TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \ + TASK_ALWAYS(ALS, als_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(USB_CHG_P0, usb_charger_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(USB_CHG_P1, usb_charger_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(CHARGER, charger_task, NULL, LARGER_TASK_STACK_SIZE) \ diff --git a/board/samus/ec.tasklist b/board/samus/ec.tasklist index 8dd915028a..3013bacf53 100644 --- a/board/samus/ec.tasklist +++ b/board/samus/ec.tasklist @@ -18,7 +18,7 @@ */ #define CONFIG_TASK_LIST \ TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_NOTEST(ALS, als_task, NULL, TASK_STACK_SIZE) \ + TASK_ALWAYS(ALS, als_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(LIGHTBAR, lightbar_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_ALWAYS(CHARGER, charger_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_ALWAYS(EXTPOWER, extpower_task, NULL, TASK_STACK_SIZE) \ diff --git a/board/strago/ec.tasklist b/board/strago/ec.tasklist index c2bb27f0c6..2e75973b9b 100644 --- a/board/strago/ec.tasklist +++ b/board/strago/ec.tasklist @@ -18,6 +18,7 @@ */ #define CONFIG_TASK_LIST \ TASK_ALWAYS(HOOKS, hook_task, NULL, TASK_STACK_SIZE) \ + TASK_ALWAYS(ALS, als_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(USB_CHG_P0, usb_charger_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(CHARGER, charger_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(MOTIONSENSE, motion_sense_task, NULL, LARGER_TASK_STACK_SIZE) \ |