Re: [RFC PATCH 3/5] efi/gop: Convert GOP structures to typedef and cleanup some types

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

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



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux