summaryrefslogtreecommitdiff
path: root/zephyr/shim/src/system.c
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/shim/src/system.c')
-rw-r--r--zephyr/shim/src/system.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/zephyr/shim/src/system.c b/zephyr/shim/src/system.c
index 5a9612fa26..d6af88a9ff 100644
--- a/zephyr/shim/src/system.c
+++ b/zephyr/shim/src/system.c
@@ -109,23 +109,19 @@ int system_set_scratchpad(uint32_t value)
GET_BBRAM_SIZE(scratchpad), (uint8_t *)&value);
}
-uint32_t system_get_scratchpad(void)
+int system_get_scratchpad(uint32_t *value)
{
- uint32_t value;
-
if (bbram_dev == NULL) {
LOG_ERR("bbram_dev doesn't binding");
- /*
- * TODO(b/195481980): Seperate the scratchpad value & API
- * status.
- */
- return 0;
+ return -EC_ERROR_INVAL;
}
- cros_bbram_read(bbram_dev, GET_BBRAM_OFFSET(scratchpad),
- GET_BBRAM_SIZE(scratchpad), (uint8_t *)&value);
+ if (cros_bbram_read(bbram_dev, GET_BBRAM_OFFSET(scratchpad),
+ GET_BBRAM_SIZE(scratchpad), (uint8_t *)value)) {
+ return -EC_ERROR_INVAL;
+ }
- return value;
+ return 0;
}
void system_hibernate(uint32_t seconds, uint32_t microseconds)