summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMary Ruthven <mruthven@chromium.org>2023-04-14 11:09:40 -0700
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-04-14 21:10:56 +0000
commitb53356f66bffbb6bf6253f58af7fc716f71101ba (patch)
tree56008c0c3a161fedb60006316ba36dce4733d83f
parentc65ffbb853be7999cc24220c66da79e3ade4e857 (diff)
downloadchrome-ec-b53356f66bffbb6bf6253f58af7fc716f71101ba.tar.gz
board_space: use a macro to define info space sizes
Check the size of the field to determine what size each space is. BUG=none TEST=BOARD_ID size is still 12, SN DATA size is still 16, APRV size is still 4, and FACTORY CFG size is still 8. Change-Id: Ib01baa7a9b63c5d6cc99b5feff71f50095cac901 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4426795 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
-rw-r--r--chip/g/board_space.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/chip/g/board_space.h b/chip/g/board_space.h
index 0c15bde5bf..0f7a9440e7 100644
--- a/chip/g/board_space.h
+++ b/chip/g/board_space.h
@@ -77,16 +77,19 @@ BUILD_ASSERT(sizeof(struct info1_layout) == FLASH_INFO_SIZE);
#define INFO_SPACE_OFFSET(field) (INFO_BOARD_SPACE_OFFSET + \
offsetof(struct info1_board_space, field))
-#define INFO_BOARD_ID_SIZE sizeof(struct board_id)
+#define INFO_SPACE_SIZE(field) \
+ (sizeof(((struct info1_board_space *)0)->field))
+
+#define INFO_BOARD_ID_SIZE INFO_SPACE_SIZE(bid)
#define INFO_BOARD_ID_OFFSET INFO_SPACE_OFFSET(bid)
-#define INFO_SN_DATA_SIZE sizeof(struct sn_data)
+#define INFO_SN_DATA_SIZE INFO_SPACE_SIZE(sn)
#define INFO_SN_DATA_OFFSET INFO_SPACE_OFFSET(sn)
-#define INFO_APRV_DATA_SIZE sizeof(uint32_t)
+#define INFO_APRV_DATA_SIZE INFO_SPACE_SIZE(aprv_not_needed)
#define INFO_APRV_DATA_OFFSET INFO_SPACE_OFFSET(aprv_not_needed)
-#define INFO_FACTORY_CFG_SIZE sizeof(uint64_t)
+#define INFO_FACTORY_CFG_SIZE INFO_SPACE_SIZE(factory_cfg)
#define INFO_FACTORY_CFG_OFFSET INFO_SPACE_OFFSET(factory_cfg)
/*