diff options
Diffstat (limited to 'common/system.c')
-rw-r--r-- | common/system.c | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/common/system.c b/common/system.c index 39390a9418..2a7059d455 100644 --- a/common/system.c +++ b/common/system.c @@ -1589,33 +1589,27 @@ int system_can_boot_ap(void) #ifdef CONFIG_SERIALNO_LEN /* By default, read serial number from flash, can be overridden. */ -#if defined(CONFIG_FLASH_PSTATE) && defined(CONFIG_FLASH_PSTATE_BANK) -__attribute__((weak)) -const char *board_read_serial(void) -{ - return flash_read_pstate_serial(); -} -#elif defined(CONFIG_OTP) -__attribute__((weak)) -const char *board_read_serial(void) +__overridable const char *board_read_serial(void) { - return otp_read_serial(); + if (IS_ENABLED(CONFIG_FLASH_PSTATE) && + IS_ENABLED(CONFIG_FLASH_PSTATE_BANK)) + return flash_read_pstate_serial(); + else if (IS_ENABLED(CONFIG_OTP)) + return otp_read_serial(); + else + return ""; } -#endif -#if defined(CONFIG_FLASH_PSTATE) && defined(CONFIG_FLASH_PSTATE_BANK) -__attribute__((weak)) -int board_write_serial(const char *serialno) -{ - return flash_write_pstate_serial(serialno); -} -#elif defined(CONFIG_OTP) -__attribute__((weak)) -int board_write_serial(const char *serialno) +__overridable int board_write_serial(const char *serialno) { - return otp_write_serial(serialno); + if (IS_ENABLED(CONFIG_FLASH_PSTATE) && + IS_ENABLED(CONFIG_FLASH_PSTATE_BANK)) + return flash_write_pstate_serial(serialno); + else if (IS_ENABLED(CONFIG_OTP)) + return otp_write_serial(serialno); + else + return EC_ERROR_UNIMPLEMENTED; } -#endif #endif /* CONFIG_SERIALNO_LEN */ |