mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-16 09:48:16 +00:00
861072b2a8
Our implementation of the EFI_HII_CONFIG_ROUTING_PROTOCOL is a mere stub, where all services return an error code. The protocol is neither needed for the EFI shell nor for the UEFI SCT. To reduce the code size remove it from the U-Boot binary. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
150 lines
4.1 KiB
C
150 lines
4.1 KiB
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* EFI Human Interface Infrastructure ... Configuration
|
|
*
|
|
* Copyright (c) 2017 Leif Lindholm
|
|
* Copyright (c) 2018 AKASHI Takahiro, Linaro Limited
|
|
*
|
|
* As this is still a non-working stub and the protocol is neither required
|
|
* by the EFI shell nor by the UEFI SCT this module has been removed from
|
|
* the Makefile.
|
|
*/
|
|
|
|
#include <common.h>
|
|
#include <efi_loader.h>
|
|
|
|
const efi_guid_t efi_guid_hii_config_routing_protocol
|
|
= EFI_HII_CONFIG_ROUTING_PROTOCOL_GUID;
|
|
const efi_guid_t efi_guid_hii_config_access_protocol
|
|
= EFI_HII_CONFIG_ACCESS_PROTOCOL_GUID;
|
|
|
|
/*
|
|
* EFI_HII_CONFIG_ROUTING_PROTOCOL
|
|
*/
|
|
|
|
static efi_status_t EFIAPI
|
|
extract_config(const struct efi_hii_config_routing_protocol *this,
|
|
const efi_string_t request,
|
|
efi_string_t *progress,
|
|
efi_string_t *results)
|
|
{
|
|
EFI_ENTRY("%p, \"%ls\", %p, %p", this, request, progress, results);
|
|
|
|
return EFI_EXIT(EFI_OUT_OF_RESOURCES);
|
|
}
|
|
|
|
static efi_status_t EFIAPI
|
|
export_config(const struct efi_hii_config_routing_protocol *this,
|
|
efi_string_t *results)
|
|
{
|
|
EFI_ENTRY("%p, %p", this, results);
|
|
|
|
return EFI_EXIT(EFI_OUT_OF_RESOURCES);
|
|
}
|
|
|
|
static efi_status_t EFIAPI
|
|
route_config(const struct efi_hii_config_routing_protocol *this,
|
|
const efi_string_t configuration,
|
|
efi_string_t *progress)
|
|
{
|
|
EFI_ENTRY("%p, \"%ls\", %p", this, configuration, progress);
|
|
|
|
return EFI_EXIT(EFI_OUT_OF_RESOURCES);
|
|
}
|
|
|
|
static efi_status_t EFIAPI
|
|
block_to_config(const struct efi_hii_config_routing_protocol *this,
|
|
const efi_string_t config_request,
|
|
const u8 *block,
|
|
const efi_uintn_t block_size,
|
|
efi_string_t *config,
|
|
efi_string_t *progress)
|
|
{
|
|
EFI_ENTRY("%p, \"%ls\", %p, %zu, %p, %p", this, config_request,
|
|
block, block_size, config, progress);
|
|
|
|
return EFI_EXIT(EFI_OUT_OF_RESOURCES);
|
|
}
|
|
|
|
static efi_status_t EFIAPI
|
|
config_to_block(const struct efi_hii_config_routing_protocol *this,
|
|
const efi_string_t config_resp,
|
|
const u8 *block,
|
|
const efi_uintn_t *block_size,
|
|
efi_string_t *progress)
|
|
{
|
|
EFI_ENTRY("%p, \"%ls\", %p, %p, %p", this, config_resp,
|
|
block, block_size, progress);
|
|
|
|
return EFI_EXIT(EFI_OUT_OF_RESOURCES);
|
|
}
|
|
|
|
static efi_status_t EFIAPI
|
|
get_alt_config(const struct efi_hii_config_routing_protocol *this,
|
|
const efi_string_t config_resp,
|
|
const efi_guid_t *guid,
|
|
const efi_string_t name,
|
|
const struct efi_device_path *device_path,
|
|
const efi_string_t alt_cfg_id,
|
|
efi_string_t *alt_cfg_resp)
|
|
{
|
|
EFI_ENTRY("%p, \"%ls\", %pUl, \"%ls\", %p, \"%ls\", %p",
|
|
this, config_resp, guid, name, device_path,
|
|
alt_cfg_id, alt_cfg_resp);
|
|
|
|
return EFI_EXIT(EFI_OUT_OF_RESOURCES);
|
|
}
|
|
|
|
/*
|
|
* EFI_HII_ACCESS_PROTOCOL
|
|
*/
|
|
|
|
efi_status_t EFIAPI
|
|
extract_config_access(const struct efi_hii_config_access_protocol *this,
|
|
const efi_string_t request,
|
|
efi_string_t *progress,
|
|
efi_string_t *results)
|
|
{
|
|
EFI_ENTRY("%p, \"%ls\", %p, %p", this, request, progress, results);
|
|
|
|
return EFI_EXIT(EFI_OUT_OF_RESOURCES);
|
|
};
|
|
|
|
efi_status_t EFIAPI
|
|
route_config_access(const struct efi_hii_config_access_protocol *this,
|
|
const efi_string_t configuration,
|
|
efi_string_t *progress)
|
|
{
|
|
EFI_ENTRY("%p, \"%ls\", %p", this, configuration, progress);
|
|
|
|
return EFI_EXIT(EFI_OUT_OF_RESOURCES);
|
|
};
|
|
|
|
efi_status_t EFIAPI
|
|
form_callback(const struct efi_hii_config_access_protocol *this,
|
|
efi_browser_action_t action,
|
|
efi_question_id_t question_id,
|
|
u8 type,
|
|
union efi_ifr_type_value *value,
|
|
efi_browser_action_request_t *action_request)
|
|
{
|
|
EFI_ENTRY("%p, 0x%zx, 0x%x, 0x%x, %p, %p", this, action,
|
|
question_id, type, value, action_request);
|
|
|
|
return EFI_EXIT(EFI_DEVICE_ERROR);
|
|
};
|
|
|
|
const struct efi_hii_config_routing_protocol efi_hii_config_routing = {
|
|
.extract_config = extract_config,
|
|
.export_config = export_config,
|
|
.route_config = route_config,
|
|
.block_to_config = block_to_config,
|
|
.config_to_block = config_to_block,
|
|
.get_alt_config = get_alt_config
|
|
};
|
|
|
|
const struct efi_hii_config_access_protocol efi_hii_config_access = {
|
|
.extract_config_access = extract_config_access,
|
|
.route_config_access = route_config_access,
|
|
.form_callback = form_callback
|
|
};
|