From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
To: Masahisa Kojima <masahisa.kojima@linaro.org>
Cc: kojima.masahisa@socionext.com, u-boot@lists.denx.de,
Heinrich Schuchardt <xypron.glpk@gmx.de>,
Simon Glass <sjg@chromium.org>,
Takahiro Akashi <takahiro.akashi@linaro.org>,
Etienne Carriere <etienne.carriere@linaro.org>
Subject: Re: [PATCH v7 1/5] eficonfig: refactor file selection handling
Date: Wed, 9 Nov 2022 16:50:06 +0200 [thread overview]
Message-ID: <Y2u+HjksMGPWzA+v@hera> (raw)
In-Reply-To: <20221109033728.5623-2-masahisa.kojima@linaro.org>
On Wed, Nov 09, 2022 at 12:37:24PM +0900, Masahisa Kojima wrote:
> eficonfig_select_file_handler() is commonly used to select the
> file. eficonfig_display_select_file_option() adds an additional
> menu to clear the selected file.
> eficonfig_display_select_file_option() is not always necessary
> for the file selection process, so it must be outside of
> eficonfig_select_file_handler().
>
> This commit also renames the following functions to avoid confusion.
> eficonfig_select_file_handler() -> eficonfig_process_select_file()
> eficonfig_select_file() -> eficonfig_show_file_selection()
> eficonfig_display_select_file_option() -> eficonfig_process_show_file_option()
>
> Finally, test_eficonfig.py need to be updated to get aligned with
> the above modification.
>
> Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
> ---
> Changes in v7:
> - rename functio name to avoid confusion
> - remove unused function
> - update commit message
>
> newly created in v2
>
> cmd/eficonfig.c | 37 ++++++-------------
> include/efi_config.h | 2 +-
> .../py/tests/test_eficonfig/test_eficonfig.py | 1 +
> 3 files changed, 13 insertions(+), 27 deletions(-)
>
> diff --git a/cmd/eficonfig.c b/cmd/eficonfig.c
> index 2595dd9563..571e2b9ac0 100644
> --- a/cmd/eficonfig.c
> +++ b/cmd/eficonfig.c
> @@ -756,14 +756,14 @@ out:
> }
>
> /**
> - * eficonfig_select_file() - construct the file selection menu
> + * eficonfig_show_file_selection() - construct the file selection menu
> *
> * @file_info: pointer to the file selection structure
> * @root: pointer to the file handle
> * Return: status code
> */
> -static efi_status_t eficonfig_select_file(struct eficonfig_select_file_info *file_info,
> - struct efi_file_handle *root)
> +static efi_status_t eficonfig_show_file_selection(struct eficonfig_select_file_info *file_info,
> + struct efi_file_handle *root)
> {
> u32 count = 0, i;
> efi_uintn_t len;
> @@ -938,17 +938,6 @@ static efi_status_t eficonfig_boot_edit_save(void *data)
> return EFI_SUCCESS;
> }
>
> -/**
> - * eficonfig_process_select_file() - callback function for "Select File" entry
> - *
> - * @data: pointer to the data
> - * Return: status code
> - */
> -efi_status_t eficonfig_process_select_file(void *data)
> -{
> - return EFI_SUCCESS;
> -}
> -
> /**
> * eficonfig_process_clear_file_selection() - callback function for "Clear" entry
> *
> @@ -973,19 +962,19 @@ static struct eficonfig_item select_file_menu_items[] = {
> {"Quit", eficonfig_process_quit},
> };
>
> -
> /**
> - * eficonfig_display_select_file_option() - display select file option
> + * eficonfig_process_show_file_option() - display select file option
> *
> * @file_info: pointer to the file information structure
> * Return: status code
> */
> -efi_status_t eficonfig_display_select_file_option(struct eficonfig_select_file_info *file_info)
> +efi_status_t eficonfig_process_show_file_option(void *data)
> {
> efi_status_t ret;
> struct efimenu *efi_menu;
>
> - select_file_menu_items[1].data = file_info;
> + select_file_menu_items[0].data = data;
> + select_file_menu_items[1].data = data;
> efi_menu = eficonfig_create_fixed_menu(select_file_menu_items,
> ARRAY_SIZE(select_file_menu_items));
> if (!efi_menu)
> @@ -1001,12 +990,12 @@ efi_status_t eficonfig_display_select_file_option(struct eficonfig_select_file_i
> }
>
> /**
> - * eficonfig_select_file_handler() - handle user file selection
> + * eficonfig_process_select_file() - handle user file selection
> *
> * @data: pointer to the data
> * Return: status code
> */
> -efi_status_t eficonfig_select_file_handler(void *data)
> +efi_status_t eficonfig_process_select_file(void *data)
> {
> size_t len;
> efi_status_t ret;
> @@ -1016,10 +1005,6 @@ efi_status_t eficonfig_select_file_handler(void *data)
> struct eficonfig_select_file_info *tmp = NULL;
> struct eficonfig_select_file_info *file_info = data;
>
> - ret = eficonfig_display_select_file_option(file_info);
> - if (ret != EFI_SUCCESS)
> - return ret;
> -
> tmp = calloc(1, sizeof(struct eficonfig_select_file_info));
> if (!tmp)
> return EFI_OUT_OF_RESOURCES;
> @@ -1046,7 +1031,7 @@ efi_status_t eficonfig_select_file_handler(void *data)
> if (ret != EFI_SUCCESS)
> goto out;
>
> - ret = eficonfig_select_file(tmp, root);
> + ret = eficonfig_show_file_selection(tmp, root);
> if (ret == EFI_ABORTED)
> continue;
> if (ret != EFI_SUCCESS)
> @@ -1284,7 +1269,7 @@ static efi_status_t prepare_file_selection_entry(struct efimenu *efi_menu, char
> utf8_utf16_strcpy(&p, devname);
> u16_strlcat(file_name, file_info->current_path, len);
> ret = create_boot_option_entry(efi_menu, title, file_name,
> - eficonfig_select_file_handler, file_info);
> + eficonfig_process_show_file_option, file_info);
> out:
> free(devname);
> free(file_name);
> diff --git a/include/efi_config.h b/include/efi_config.h
> index 098cac2115..cc6aa51393 100644
> --- a/include/efi_config.h
> +++ b/include/efi_config.h
> @@ -89,7 +89,7 @@ void eficonfig_print_msg(char *msg);
> void eficonfig_destroy(struct efimenu *efi_menu);
> efi_status_t eficonfig_process_quit(void *data);
> efi_status_t eficonfig_process_common(struct efimenu *efi_menu, char *menu_header);
> -efi_status_t eficonfig_select_file_handler(void *data);
> +efi_status_t eficonfig_process_select_file(void *data);
> efi_status_t eficonfig_get_unused_bootoption(u16 *buf,
> efi_uintn_t buf_size, u32 *index);
> efi_status_t eficonfig_append_bootorder(u16 index);
> diff --git a/test/py/tests/test_eficonfig/test_eficonfig.py b/test/py/tests/test_eficonfig/test_eficonfig.py
> index 99606d9c4b..102bfd7541 100644
> --- a/test/py/tests/test_eficonfig/test_eficonfig.py
> +++ b/test/py/tests/test_eficonfig/test_eficonfig.py
> @@ -349,6 +349,7 @@ def test_efi_eficonfig(u_boot_console, efi_eficonfig_data):
> press_up_down_enter_and_wait(0, 1, True, 'Quit')
> press_up_down_enter_and_wait(0, 0, True, 'No block device found!')
> press_escape_key(False)
> + press_escape_key(False)
> check_current_is_maintenance_menu()
> # Return to U-Boot console
> press_escape_key(True)
> --
> 2.17.1
>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
next prev parent reply other threads:[~2022-11-09 14:50 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-09 3:37 [PATCH v7 0/5] eficonfig: add UEFI Secure Boot key maintenance interface Masahisa Kojima
2022-11-09 3:37 ` [PATCH v7 1/5] eficonfig: refactor file selection handling Masahisa Kojima
2022-11-09 14:50 ` Ilias Apalodimas [this message]
2022-11-09 3:37 ` [PATCH v7 2/5] eficonfig: expose append entry function Masahisa Kojima
2022-11-09 3:37 ` [PATCH v7 3/5] eficonfig: refactor change boot order implementation Masahisa Kojima
2022-11-09 14:50 ` Ilias Apalodimas
2022-11-09 3:37 ` [PATCH v7 4/5] eficonfig: add UEFI Secure Boot Key enrollment interface Masahisa Kojima
2022-11-09 16:04 ` Ilias Apalodimas
2022-11-10 2:42 ` Masahisa Kojima
2022-11-10 6:46 ` Ilias Apalodimas
2022-11-10 7:13 ` Masahisa Kojima
2022-11-09 3:37 ` [PATCH v7 5/5] eficonfig: add "Show Signature Database" menu entry Masahisa Kojima
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y2u+HjksMGPWzA+v@hera \
--to=ilias.apalodimas@linaro.org \
--cc=etienne.carriere@linaro.org \
--cc=kojima.masahisa@socionext.com \
--cc=masahisa.kojima@linaro.org \
--cc=sjg@chromium.org \
--cc=takahiro.akashi@linaro.org \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox