On Thu, 12 Feb 2026 at 22:45, Javier Martinez Canillas <[email protected]> wrote: > > Now that dos_partition_t and struct partition are identical, the duplicated > data structure definition in the part_efi.h header can just be removed. > > This results in a single, shared definition for MBR partition table > entries, instead of having the same definition in two different places. > > Signed-off-by: Javier Martinez Canillas <[email protected]> > Reviewed-by: Tom Rini <[email protected]> > --- >
Reviewed-by: Ilias Apalodimas <[email protected]> > (no changes since v1) > > disk/part_efi.c | 4 ++-- > include/part_efi.h | 19 +++---------------- > 2 files changed, 5 insertions(+), 18 deletions(-) > > diff --git a/disk/part_efi.c b/disk/part_efi.c > index fb1ed534f861..d8b17ec2e91a 100644 > --- a/disk/part_efi.c > +++ b/disk/part_efi.c > @@ -51,7 +51,7 @@ static inline u32 efi_crc32(const void *buf, u32 len) > * Private function prototypes > */ > > -static int pmbr_part_valid(struct partition *part); > +static int pmbr_part_valid(dos_partition_t *part); > static int is_pmbr_valid(legacy_mbr * mbr); > static int is_gpt_valid(struct blk_desc *desc, u64 lba, gpt_header > *pgpt_head, > gpt_entry **pgpt_pte); > @@ -990,7 +990,7 @@ int write_mbr_and_gpt_partitions(struct blk_desc *desc, > void *buf) > * > * Returns: 1 if EFI GPT partition type is found. > */ > -static int pmbr_part_valid(struct partition *part) > +static int pmbr_part_valid(dos_partition_t *part) > { > if (part->sys_ind == EFI_PMBR_OSTYPE_EFI_GPT && > get_unaligned_le32(&part->start_sect) == 1UL) { > diff --git a/include/part_efi.h b/include/part_efi.h > index fb402df6f13e..2cea50880465 100644 > --- a/include/part_efi.h > +++ b/include/part_efi.h > @@ -18,6 +18,7 @@ > #define _DISK_PART_EFI_H > > #include <efi.h> > +#include <part_dos.h> > > #define MSDOS_MBR_SIGNATURE 0xAA55 > #define MSDOS_MBR_BOOT_CODE_SIZE 440 > @@ -77,20 +78,6 @@ > /* linux/include/efi.h */ > typedef u16 efi_char16_t; > > -/* based on linux/include/genhd.h */ > -struct partition { > - u8 boot_ind; /* 0x80 - active */ > - u8 head; /* starting head */ > - u8 sector; /* starting sector */ > - u8 cyl; /* starting cylinder */ > - u8 sys_ind; /* What partition type */ > - u8 end_head; /* end head */ > - u8 end_sector; /* end sector */ > - u8 end_cyl; /* end cylinder */ > - __le32 start_sect; /* starting sector counting from 0 */ > - __le32 nr_sects; /* nr of sectors in partition */ > -} __packed; > - > /* based on linux/fs/partitions/efi.h */ > typedef struct _gpt_header { > __le64 signature; > @@ -134,7 +121,7 @@ typedef struct _legacy_mbr { > u8 boot_code[MSDOS_MBR_BOOT_CODE_SIZE]; > __le32 unique_mbr_signature; > __le16 unknown; > - struct partition partition_record[4]; > + dos_partition_t partition_record[4]; > __le16 signature; > } __packed legacy_mbr; > > @@ -153,7 +140,7 @@ struct efi_partition_info { > u8 system; > u8 reserved[7]; > union { > - struct partition mbr; > + dos_partition_t mbr; > gpt_entry gpt; > } info; > } __packed; > -- > 2.53.0 >

