[PATCH v2 3/7] disk: part_efi: Remove redundant struct partition definition
Ilias Apalodimas
ilias.apalodimas at linaro.org
Fri Feb 13 09:42:29 CET 2026
On Thu, 12 Feb 2026 at 22:45, Javier Martinez Canillas
<javierm at redhat.com> 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 <javierm at redhat.com>
> Reviewed-by: Tom Rini <trini at konsulko.com>
> ---
>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> (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
>
More information about the U-Boot
mailing list