Re: [PATCH] efi: sysfb_efi: guard EFI-specific code with CONFIG_EFI
From: Ard Biesheuvel
Date: Wed Jan 15 2025 - 09:48:03 EST
On Wed, 15 Jan 2025 at 15:17, Yu-Chun Lin <eleanor15x@xxxxxxxxx> wrote:
>
> As reported by the kernel test robot, the following warnings occur:
>
> >> drivers/firmware/efi/sysfb_efi.c:331:39: warning: 'efifb_fwnode_ops' defined but not used [-Wunused-const-variable=]
> 331 | static const struct fwnode_operations efifb_fwnode_ops = {
> | ^~~~~~~~~~~~~~~~
> >> drivers/firmware/efi/sysfb_efi.c:240:35: warning: 'efifb_dmi_swap_width_height' defined but not used [-Wunused-const-variable=]
> 240 | static const struct dmi_system_id efifb_dmi_swap_width_height[] __initconst = {
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> drivers/firmware/efi/sysfb_efi.c:190:35: warning: 'efifb_dmi_system_table' defined but not used [-Wunused-const-variable=]
> 190 | static const struct dmi_system_id efifb_dmi_system_table[] __initconst = {
> | ^~~~~~~~~~~~~~~~~~~~~~
>
> Unused variables, functions, and macro are conditionally compiled under
> CONFIG_EFI. This includes 'efifb_fwnode_ops',
> 'efifb_dmi_swap_width_height[]', 'efifb_dmi_system_table[]',
> 'efifb_add_links', 'find_pci_overlap_node','efifb_set_system',
> 'efifb_overlaps_pci_range', and the 'EFIFB_DMI_SYSTEM_ID' macro.
>
> Suppress unused symbol warnings and ensure inclusion only in relevant
> configurations.
>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202501051626.SMkizYIE-lkp@xxxxxxxxx/
> Signed-off-by: Yu-Chun Lin <eleanor15x@xxxxxxxxx>
> ---
> drivers/firmware/efi/sysfb_efi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Is your patch better than the one already in linux-next?
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=19fdc68aa7b90b1
> diff --git a/drivers/firmware/efi/sysfb_efi.c b/drivers/firmware/efi/sysfb_efi.c
> index cc807ed35aed..4efe383cc470 100644
> --- a/drivers/firmware/efi/sysfb_efi.c
> +++ b/drivers/firmware/efi/sysfb_efi.c
> @@ -174,6 +174,7 @@ static int __init efifb_set_system(const struct dmi_system_id *id)
> return 1;
> }
>
> +#ifdef CONFIG_EFI
> #define EFIFB_DMI_SYSTEM_ID(vendor, name, enumid) \
> { \
> efifb_set_system, \
> @@ -346,7 +347,6 @@ static const struct fwnode_operations efifb_fwnode_ops = {
> .add_links = efifb_add_links,
> };
>
> -#ifdef CONFIG_EFI
> static struct fwnode_handle efifb_fwnode;
>
> __init void sysfb_apply_efi_quirks(void)
> --
> 2.43.0
>