mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 10:39:08 +00:00
efi: hii: add HII config routing/access protocols
This patch is a place holder for HII configuration routing protocol and HII configuration access protocol. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
8d3b77e36e
commit
cb728e51a7
5 changed files with 318 additions and 1 deletions
146
lib/efi_loader/efi_hii_config.c
Normal file
146
lib/efi_loader/efi_hii_config.c
Normal file
|
@ -0,0 +1,146 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* EFI Human Interface Infrastructure ... Configuration
|
||||
*
|
||||
* Copyright (c) 2017 Leif Lindholm
|
||||
* Copyright (c) 2018 AKASHI Takahiro, Linaro Limited
|
||||
*/
|
||||
|
||||
#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%lx, 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
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue