efi: ia64: disable the capsule loader
EFI capsule loading is a feature that was introduced into EFI long after its initial introduction on Itanium, and it is highly unlikely that IA64 systems are receiving firmware updates in the first place, let alone using EFI capsules. So let's disable capsule support altogether on IA64. This fixes a build error on IA64 due to a recent change that added an unconditional include of asm/efi.h, which IA64 does not provide. While at it, tweak the make rules a bit so that the EFI capsule component that is always builtin (even if the EFI capsule loader itself is built as a module) is omitted for all architectures if the module is not enabled in the build. Cc: Tony Luck <tony.luck@intel.com> Link: https://lore.kernel.org/linux-efi/20201214152200.38353-1-ardb@kernel.org Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
This commit is contained in:
parent
54649911f3
commit
e0a6aa3050
|
@ -147,7 +147,7 @@ config EFI_BOOTLOADER_CONTROL
|
|||
|
||||
config EFI_CAPSULE_LOADER
|
||||
tristate "EFI capsule loader"
|
||||
depends on EFI
|
||||
depends on EFI && !IA64
|
||||
help
|
||||
This option exposes a loader interface "/dev/efi_capsule_loader" for
|
||||
users to load EFI capsules. This driver requires working runtime
|
||||
|
|
|
@ -12,7 +12,10 @@ KASAN_SANITIZE_runtime-wrappers.o := n
|
|||
|
||||
obj-$(CONFIG_ACPI_BGRT) += efi-bgrt.o
|
||||
obj-$(CONFIG_EFI) += efi.o vars.o reboot.o memattr.o tpm.o
|
||||
obj-$(CONFIG_EFI) += capsule.o memmap.o
|
||||
obj-$(CONFIG_EFI) += memmap.o
|
||||
ifneq ($(CONFIG_EFI_CAPSULE_LOADER),)
|
||||
obj-$(CONFIG_EFI) += capsule.o
|
||||
endif
|
||||
obj-$(CONFIG_EFI_PARAMS_FROM_FDT) += fdtparams.o
|
||||
obj-$(CONFIG_EFI_VARS) += efivars.o
|
||||
obj-$(CONFIG_EFI_ESRT) += esrt.o
|
||||
|
|
|
@ -817,12 +817,6 @@ static inline bool efi_enabled(int feature)
|
|||
static inline void
|
||||
efi_reboot(enum reboot_mode reboot_mode, const char *__unused) {}
|
||||
|
||||
static inline bool
|
||||
efi_capsule_pending(int *reset_type)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline bool efi_soft_reserve_enabled(void)
|
||||
{
|
||||
return false;
|
||||
|
@ -1038,6 +1032,7 @@ bool efivar_validate(efi_guid_t vendor, efi_char16_t *var_name, u8 *data,
|
|||
bool efivar_variable_is_removable(efi_guid_t vendor, const char *name,
|
||||
size_t len);
|
||||
|
||||
#if IS_ENABLED(CONFIG_EFI_CAPSULE_LOADER)
|
||||
extern bool efi_capsule_pending(int *reset_type);
|
||||
|
||||
extern int efi_capsule_supported(efi_guid_t guid, u32 flags,
|
||||
|
@ -1045,6 +1040,9 @@ extern int efi_capsule_supported(efi_guid_t guid, u32 flags,
|
|||
|
||||
extern int efi_capsule_update(efi_capsule_header_t *capsule,
|
||||
phys_addr_t *pages);
|
||||
#else
|
||||
static inline bool efi_capsule_pending(int *reset_type) { return false; }
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_EFI_RUNTIME_MAP
|
||||
int efi_runtime_map_init(struct kobject *);
|
||||
|
|
Loading…
Reference in New Issue