aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2023-08-24 13:55:33 -0600
committerTom Rini <trini@konsulko.com>2023-08-25 17:55:18 -0400
commitb2b7e6c1812d2b6bea517ea8f7df5c23ae04ce84 (patch)
tree5af9c4d469ac8490a65646dca9c01097599a6fbf
parentbcd645428c340254a0f6e3b040fd36c3006fab6c (diff)
downloadu-boot-b2b7e6c1812d2b6bea517ea8f7df5c23ae04ce84.zip
u-boot-b2b7e6c1812d2b6bea517ea8f7df5c23ae04ce84.tar.gz
u-boot-b2b7e6c1812d2b6bea517ea8f7df5c23ae04ce84.tar.bz2
part: Add an accessor for struct disk_partition sys_ind
This field is only present when a CONFIG is set. To avoid annoying #ifdefs in the source code, add an accessor. Update the only usage. Note that the accessor is optional. It can be omitted if it is known that the option is enabled. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--boot/bootdev-uclass.c7
-rw-r--r--include/part.h12
2 files changed, 15 insertions, 4 deletions
diff --git a/boot/bootdev-uclass.c b/boot/bootdev-uclass.c
index fa52bc3..c4044d8 100644
--- a/boot/bootdev-uclass.c
+++ b/boot/bootdev-uclass.c
@@ -184,12 +184,11 @@ int bootdev_find_in_blk(struct udevice *dev, struct udevice *blk,
if (ret)
return log_msg_ret("fs", ret);
- /* Use an #ifdef due to info.sys_ind */
-#ifdef CONFIG_DOS_PARTITION
log_debug("%s: Found partition %x type %x fstype %d\n",
- blk->name, bflow->part, info.sys_ind,
+ blk->name, bflow->part,
+ IS_ENABLED(CONFIG_DOS_PARTITION) ?
+ disk_partition_sys_ind(&info) : 0,
ret ? -1 : fs_get_type());
-#endif
bflow->blk = blk;
bflow->state = BOOTFLOWST_FS;
}
diff --git a/include/part.h b/include/part.h
index 5cf1c5e..16ba8c1 100644
--- a/include/part.h
+++ b/include/part.h
@@ -135,6 +135,18 @@ static inline void disk_partition_clr_type_guid(struct disk_partition *info)
#endif
}
+/* Accessors for struct disk_partition field ->sys_ind */
+extern int __invalid_use_of_disk_partition_sys_ind;
+
+static inline uint disk_partition_sys_ind(const struct disk_partition *info)
+{
+#ifdef CONFIG_DOS_PARTITION
+ return info->sys_ind;
+#else
+ return __invalid_use_of_disk_partition_sys_ind;
+#endif
+}
+
struct disk_part {
int partnum;
struct disk_partition gpt_part_info;