summaryrefslogtreecommitdiff
path: root/common/system.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/system.c')
-rw-r--r--common/system.c38
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 */