From: Heinrich Schuchardt Date: Tue, 4 Nov 2025 11:07:02 +0000 (+0100) Subject: efi: Use struct efi_gop_mode_info in struct efi_entry_gopmode X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=411f8f5367ca8f55faa8a9c34735e31ac665c7dc;p=thirdparty%2Fu-boot.git efi: Use struct efi_gop_mode_info in struct efi_entry_gopmode Since C99 flexible array members are allowed at the end of structures. We require C11. Use struct efi_gop_mode_info in the definition of struct efi_entry_gopmode to avoid code duplication and unnecessary conversions. Reviewed-by: Bin Meng Signed-off-by: Heinrich Schuchardt --- diff --git a/include/efi.h b/include/efi.h index f9bbb175c3a..66725b876f9 100644 --- a/include/efi.h +++ b/include/efi.h @@ -385,6 +385,28 @@ struct efi_entry_memmap { struct efi_mem_desc desc[]; }; +/** + * struct efi_gop_mode_info - graphics output mode information + */ +struct efi_gop_mode_info { + /** @version: version of the data structure (use zero) */ + u32 version; + /** @width: horizontal screen size */ + u32 width; + /** @height: vertical screen size */ + u32 height; + /** @pixel_format: enum that specifies the storage format of pixels */ + u32 pixel_format; + /** + * @pixel_bitmask: bitmasks used with PixelPixelBitMask + * + * The values which bits are used for red, green, blue, and alpha. + */ + u32 pixel_bitmask[4]; + /** @pixels_per_scanline: pixels per video memory line */ + u32 pixels_per_scanline; +}; + /** * struct efi_entry_gopmode - a GOP mode table passed to U-Boot * @@ -404,19 +426,7 @@ struct efi_entry_gopmode { */ u64 fb_size; u64 info_size; - /* - * We cannot directly use 'struct efi_gop_mode_info info[]' here as - * it causes compiler to complain: array type has incomplete element - * type 'struct efi_gop_mode_info'. - */ - struct /* efi_gop_mode_info */ { - u32 version; - u32 width; - u32 height; - u32 pixel_format; - u32 pixel_bitmask[4]; - u32 pixels_per_scanline; - } info[]; + struct efi_gop_mode_info info[]; }; /** diff --git a/include/efi_api.h b/include/efi_api.h index 77a05f752e5..d4fdd50c49e 100644 --- a/include/efi_api.h +++ b/include/efi_api.h @@ -1490,15 +1490,6 @@ struct efi_hii_config_access_protocol { #define EFI_GOT_BGRA8 1 #define EFI_GOT_BITMASK 2 -struct efi_gop_mode_info { - u32 version; - u32 width; - u32 height; - u32 pixel_format; - u32 pixel_bitmask[4]; - u32 pixels_per_scanline; -}; - struct efi_gop_mode { u32 max_mode; u32 mode;