disk: part_efi: Remove redundant struct partition definition

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@redhat.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
Javier Martinez Canillas 2026-02-12 21:44:57 +01:00 committed by Heinrich Schuchardt
parent 1450a4555d
commit aee9b7d0e0
2 changed files with 5 additions and 18 deletions

View File

@ -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) {

View File

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