efi: clean up Kconfig dependencies on CONFIG_EFI
authorArd Biesheuvel <ardb@kernel.org>
Sat, 28 May 2022 09:49:54 +0000 (11:49 +0200)
committerArd Biesheuvel <ardb@kernel.org>
Wed, 1 Jun 2022 12:08:13 +0000 (14:08 +0200)
Geert reports that the new option CONFIG_EFI_DISABLE_RUNTIME is user
visible even when EFI support is disabled, which is unnecessary and
clutters the Kconfig interface.

So let's move this option into the existing Kconfig submenu that already
depends on CONFIG_EFI, and while at it, give some other options the same
treatment.

Also clean up a small wart where the efi/ subdirectory is listed twice.
Let's just list it unconditionally so that both EFI and UEFI_CPER based
pieces will be built independently (the latter only depends on the
former on !X86)

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
drivers/firmware/Makefile
drivers/firmware/efi/Kconfig

index 4e58cb474a68d0feab430c906b495029d2d1662a..dca73826e09a6091cc177014e81b669d7eced844 100644 (file)
@@ -31,8 +31,7 @@ obj-y                         += broadcom/
 obj-y                          += cirrus/
 obj-y                          += meson/
 obj-$(CONFIG_GOOGLE_FIRMWARE)  += google/
-obj-$(CONFIG_EFI)              += efi/
-obj-$(CONFIG_UEFI_CPER)                += efi/
+obj-y                          += efi/
 obj-y                          += imx/
 obj-y                          += psci/
 obj-y                          += smccc/
index 4720ba98cec312e775c8bcb298855fd60ccb38c9..7aa4717cdcac46f91dd202f868c463388eb02735 100644 (file)
@@ -193,6 +193,9 @@ config EFI_TEST
          Say Y here to enable the runtime services support via /dev/efi_test.
          If unsure, say N.
 
+config EFI_DEV_PATH_PARSER
+       bool
+
 config APPLE_PROPERTIES
        bool "Apple Device Properties"
        depends on EFI_STUB && X86
@@ -255,40 +258,15 @@ config EFI_DISABLE_PCI_DMA
          options "efi=disable_early_pci_dma" or "efi=no_disable_early_pci_dma"
          may be used to override this option.
 
-endmenu
-
-config EFI_EMBEDDED_FIRMWARE
-       bool
-       depends on EFI
-       select CRYPTO_LIB_SHA256
-
-config UEFI_CPER
-       bool
-
-config UEFI_CPER_ARM
-       bool
-       depends on UEFI_CPER && ( ARM || ARM64 )
-       default y
-
-config UEFI_CPER_X86
-       bool
-       depends on UEFI_CPER && X86
-       default y
-
-config EFI_DEV_PATH_PARSER
-       bool
-       depends on ACPI
-       default n
-
 config EFI_EARLYCON
        def_bool y
-       depends on EFI && SERIAL_EARLYCON && !ARM && !IA64
+       depends on SERIAL_EARLYCON && !ARM && !IA64
        select FONT_SUPPORT
        select ARCH_USE_MEMREMAP_PROT
 
 config EFI_CUSTOM_SSDT_OVERLAYS
        bool "Load custom ACPI SSDT overlay from an EFI variable"
-       depends on EFI && ACPI
+       depends on ACPI
        default ACPI_TABLE_UPGRADE
        help
          Allow loading of an ACPI SSDT overlay from an EFI variable specified
@@ -314,7 +292,6 @@ config EFI_DISABLE_RUNTIME
 
 config EFI_COCO_SECRET
        bool "EFI Confidential Computing Secret Area Support"
-       depends on EFI
        help
          Confidential Computing platforms (such as AMD SEV) allow the
          Guest Owner to securely inject secrets during guest VM launch.
@@ -327,3 +304,22 @@ config EFI_COCO_SECRET
          for usage inside the kernel.  This will allow the
          virt/coco/efi_secret module to access the secrets, which in turn
          allows userspace programs to access the injected secrets.
+
+config EFI_EMBEDDED_FIRMWARE
+       bool
+       select CRYPTO_LIB_SHA256
+
+endmenu
+
+config UEFI_CPER
+       bool
+
+config UEFI_CPER_ARM
+       bool
+       depends on UEFI_CPER && ( ARM || ARM64 )
+       default y
+
+config UEFI_CPER_X86
+       bool
+       depends on UEFI_CPER && X86
+       default y