diff options
Diffstat (limited to 'zephyr/shim/src/system.c')
-rw-r--r-- | zephyr/shim/src/system.c | 18 |
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) |