cmd: simplify eficonfig_init()
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Mon, 10 Mar 2025 06:13:43 +0000 (07:13 +0100)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sat, 19 Apr 2025 10:45:48 +0000 (12:45 +0200)
As the system table already has pointers to the Simple Text Input and
Output Protocols we can directly use these instead of calling
OpenProtocol.

Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
cmd/eficonfig.c

index e08b6ba..629bf1b 100644 (file)
@@ -2283,26 +2283,11 @@ static efi_status_t eficonfig_init(void)
 {
        efi_status_t ret = EFI_SUCCESS;
        static bool init;
-       struct efi_handler *handler;
        unsigned long columns, rows;
 
        if (!init) {
-               ret = efi_search_protocol(efi_root, &efi_guid_text_input_protocol, &handler);
-               if (ret != EFI_SUCCESS)
-                       return ret;
-
-               ret = efi_protocol_open(handler, (void **)&cin, efi_root, NULL,
-                                       EFI_OPEN_PROTOCOL_GET_PROTOCOL);
-               if (ret != EFI_SUCCESS)
-                       return ret;
-               ret = efi_search_protocol(efi_root, &efi_guid_text_output_protocol, &handler);
-               if (ret != EFI_SUCCESS)
-                       return ret;
-
-               ret = efi_protocol_open(handler, (void **)&cout, efi_root, NULL,
-                                       EFI_OPEN_PROTOCOL_GET_PROTOCOL);
-               if (ret != EFI_SUCCESS)
-                       return ret;
+               cout = systab.con_out;
+               cin = systab.con_in;
 
                cout->query_mode(cout, cout->mode->mode, &columns, &rows);
                avail_row = rows - (EFICONFIG_MENU_HEADER_ROW_NUM +