diff options
Diffstat (limited to 'drivers/firmware/efi/libstub/arm-stub.c')
| -rw-r--r-- | drivers/firmware/efi/libstub/arm-stub.c | 32 | 
1 files changed, 4 insertions, 28 deletions
diff --git a/drivers/firmware/efi/libstub/arm-stub.c b/drivers/firmware/efi/libstub/arm-stub.c index 01a9d78ee415..6920033de6d4 100644 --- a/drivers/firmware/efi/libstub/arm-stub.c +++ b/drivers/firmware/efi/libstub/arm-stub.c @@ -40,31 +40,6 @@  static u64 virtmap_base = EFI_RT_VIRTUAL_BASE; -efi_status_t efi_open_volume(efi_system_table_t *sys_table_arg, -			     void *__image, void **__fh) -{ -	efi_file_io_interface_t *io; -	efi_loaded_image_t *image = __image; -	efi_file_handle_t *fh; -	efi_guid_t fs_proto = EFI_FILE_SYSTEM_GUID; -	efi_status_t status; -	void *handle = (void *)(unsigned long)image->device_handle; - -	status = sys_table_arg->boottime->handle_protocol(handle, -				 &fs_proto, (void **)&io); -	if (status != EFI_SUCCESS) { -		efi_printk(sys_table_arg, "Failed to handle fs_proto\n"); -		return status; -	} - -	status = io->open_volume(io, &fh); -	if (status != EFI_SUCCESS) -		efi_printk(sys_table_arg, "Failed to open volume\n"); - -	*__fh = fh; -	return status; -} -  void efi_char16_printk(efi_system_table_t *sys_table_arg,  			      efi_char16_t *str)  { @@ -202,9 +177,10 @@ unsigned long efi_entry(void *handle, efi_system_table_t *sys_table,  	 * 'dtb=' unless UEFI Secure Boot is disabled.  We assume that secure  	 * boot is enabled if we can't determine its state.  	 */ -	if (secure_boot != efi_secureboot_mode_disabled && -	    strstr(cmdline_ptr, "dtb=")) { -		pr_efi(sys_table, "Ignoring DTB from command line.\n"); +	if (!IS_ENABLED(CONFIG_EFI_ARMSTUB_DTB_LOADER) || +	     secure_boot != efi_secureboot_mode_disabled) { +		if (strstr(cmdline_ptr, "dtb=")) +			pr_efi(sys_table, "Ignoring DTB from command line.\n");  	} else {  		status = handle_cmdline_files(sys_table, image, cmdline_ptr,  					      "dtb=",  | 
