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>
This commit is contained in:
Simon Glass
2023-08-24 13:55:33 -06:00
committed by Tom Rini
parent bcd645428c
commit b2b7e6c181
2 changed files with 15 additions and 4 deletions

View File

@@ -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;
}

View File

@@ -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;