Hi Kojima-san I think there's some information missing from the commit message.
On Wed, Oct 26, 2022 at 07:43:41PM +0900, Masahisa Kojima wrote: > eficonfig_select_file_handler() is commonly used to select the > file. > eficonfig_display_select_file_option() intends to add the > additional menu mainly to clear the selected file information. 'eficonfig_display_select_file_option() adds an additional menu to clear the selected file' sounds better? > eficonfig_display_select_file_option() is not necessary for the > file selection process, so it should be outside of > eficonfig_select_file_handler(). In a followup patch I think we should rename eficonfig_select_file(). It's a bit confusing to have both eficonfig_select_file_handler() and eficonfig_select_file() and iirc the latter creates the menu for the file selection. > > Signed-off-by: Masahisa Kojima <masahisa.koj...@linaro.org> > --- > No change since v2 > > newly created in v2 > > cmd/eficonfig.c | 13 +++++-------- > test/py/tests/test_eficonfig/test_eficonfig.py | 1 + > 2 files changed, 6 insertions(+), 8 deletions(-) > > diff --git a/cmd/eficonfig.c b/cmd/eficonfig.c > index 2595dd9563..f6a99bd01a 100644 > --- a/cmd/eficonfig.c > +++ b/cmd/eficonfig.c > @@ -968,7 +968,7 @@ efi_status_t eficonfig_process_clear_file_selection(void > *data) > } > > static struct eficonfig_item select_file_menu_items[] = { > - {"Select File", eficonfig_process_select_file}, eficonfig_process_select_file() is not used anywhere anymore now. We need to get rid of the function declaration > + {"Select File", eficonfig_select_file_handler}, This is a different change right? It effectively allows you to choose between files. Can we explain this change as well on the commit message? > {"Clear", eficonfig_process_clear_file_selection}, > {"Quit", eficonfig_process_quit}, > }; > @@ -980,12 +980,13 @@ static struct eficonfig_item select_file_menu_items[] = > { > * @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_display_select_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) > @@ -1016,10 +1017,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; > @@ -1284,7 +1281,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_display_select_file_option, > file_info); > out: > free(devname); > free(file_name); > 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 > Thanks /Ilias