All of lore.kernel.org
 help / color / mirror / Atom feed
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>


  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.