Hi Randy, On Tue, Jul 27, 2021 at 7:06 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote: > When # CONFIG_EFI is not set, there are 2 definitions of > sysfb_apply_efi_quirks(). The stub from sysfb.h should be used > and the __init function from sysfb_efi.c should not be used. > > ../drivers/firmware/efi/sysfb_efi.c:337:13: error: redefinition of ‘sysfb_apply_efi_quirks’ > __init void sysfb_apply_efi_quirks(struct platform_device *pd) > ^~~~~~~~~~~~~~~~~~~~~~ > In file included from ../drivers/firmware/efi/sysfb_efi.c:26:0: > ../include/linux/sysfb.h:65:20: note: previous definition of ‘sysfb_apply_efi_quirks’ was here > static inline void sysfb_apply_efi_quirks(struct platform_device *pd) > ^~~~~~~~~~~~~~~~~~~~~~ > > Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Thanks for your patch! > --- linext-20210726.orig/drivers/firmware/efi/sysfb_efi.c > +++ linext-20210726/drivers/firmware/efi/sysfb_efi.c > @@ -332,6 +332,7 @@ static const struct fwnode_operations ef > .add_links = efifb_add_links, > }; > > +#ifdef CONFIG_EFI > static struct fwnode_handle efifb_fwnode; > > __init void sysfb_apply_efi_quirks(struct platform_device *pd) > @@ -354,3 +355,4 @@ __init void sysfb_apply_efi_quirks(struc > pd->dev.fwnode = &efifb_fwnode; > } > } > +#endif How come you enter drivers/firmware/efi/ without CONFIG_EFI? Oh: drivers/firmware/Makefile:obj-$(CONFIG_EFI) += efi/ drivers/firmware/Makefile:obj-$(CONFIG_UEFI_CPER) += efi/ Looks like UEFI_CPER is not related to EFI at all (it's not set in my arm64 config which has CONFIG_EFI=y). Perhaps it should be moved to drivers/acpi/ instead? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds