On Thu, 12 Dec 2019 at 23:41, Arvind Sankar <nivedita@xxxxxxxxxxxx> wrote: > > On Thu, Dec 12, 2019 at 10:35:56PM +0000, Ard Biesheuvel wrote: > > On Thu, 12 Dec 2019 at 22:34, Arvind Sankar <nivedita@xxxxxxxxxxxx> wrote: > > > > > > Use typedef for the GOP structures, in anticipation of unifying > > > 32/64-bit code. Also use more appropriate types in the non-bitness > > > specific structures for the framebuffer address and pointers. > > > > > > Signed-off-by: Arvind Sankar <nivedita@xxxxxxxxxxxx> > > > > > > This gives me > > > > /home/ardbie01/linux/drivers/firmware/efi/libstub/gop.c: In function > > ‘setup_gop32’: > > /home/ardbie01/linux/drivers/firmware/efi/libstub/gop.c:96:27: error: > > storage size of ‘pixel_info’ isn’t known > > struct efi_pixel_bitmask pixel_info; > > ^~~~~~~~~~ > > /home/ardbie01/linux/drivers/firmware/efi/libstub/gop.c:125:38: error: > > dereferencing pointer to incomplete type ‘struct > > efi_graphics_output_protocol_32’ > > mode = (void *)(unsigned long)gop32->mode; > > ^~ > > /home/ardbie01/linux/scripts/Makefile.build:265: recipe for target > > 'drivers/firmware/efi/libstub/gop.o' failed > > make[5]: *** [drivers/firmware/efi/libstub/gop.o] Error 1 > > make[5]: *** Waiting for unfinished jobs.... > > Something must be wrong with the application of the patch. The patch > does change the declaration of pixel_info and gop32 as seen below. > Yeah, indeed. Sorry for the noise. > > > @@ -87,13 +87,13 @@ static efi_status_t > > > setup_gop32(efi_system_table_t *sys_table_arg, struct screen_info *si, > > > efi_guid_t *proto, unsigned long size, void **gop_handle) > > > { > > > - struct efi_graphics_output_protocol_32 *gop32, *first_gop; > > > + efi_graphics_output_protocol_32_t *gop32, *first_gop; > > > unsigned long nr_gops; > > > u16 width, height; > > > u32 pixels_per_scan_line; > > > u32 ext_lfb_base; > > > - u64 fb_base; > > > - struct efi_pixel_bitmask pixel_info; > > > + efi_physical_addr_t fb_base; > > > + efi_pixel_bitmask_t pixel_info; > > > int pixel_format;