efi/gop: Slightly re-arrange logic of find_gop
authorArvind Sankar <nivedita@alum.mit.edu>
Fri, 20 Mar 2020 02:00:19 +0000 (22:00 -0400)
committerArd Biesheuvel <ardb@kernel.org>
Thu, 23 Apr 2020 18:15:06 +0000 (20:15 +0200)
Small cleanup to get rid of conout_found.

Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
Link: https://lore.kernel.org/r/20200320020028.1936003-6-nivedita@alum.mit.edu
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
drivers/firmware/efi/libstub/gop.c

index 92abcf5..a7d3efe 100644 (file)
@@ -99,7 +99,6 @@ find_gop(efi_guid_t *proto, unsigned long size, void **handles)
 
        for_each_efi_handle(h, handles, size, i) {
                efi_guid_t conout_proto = EFI_CONSOLE_OUT_DEVICE_GUID;
-               bool conout_found = false;
                void *dummy = NULL;
 
                status = efi_bs_call(handle_protocol, h, proto, (void **)&gop);
@@ -111,25 +110,22 @@ find_gop(efi_guid_t *proto, unsigned long size, void **handles)
                if (info->pixel_format == PIXEL_BLT_ONLY)
                        continue;
 
+               /*
+                * Systems that use the UEFI Console Splitter may
+                * provide multiple GOP devices, not all of which are
+                * backed by real hardware. The workaround is to search
+                * for a GOP implementing the ConOut protocol, and if
+                * one isn't found, to just fall back to the first GOP.
+                *
+                * Once we've found a GOP supporting ConOut,
+                * don't bother looking any further.
+                */
                status = efi_bs_call(handle_protocol, h, &conout_proto, &dummy);
                if (status == EFI_SUCCESS)
-                       conout_found = true;
-
-               if (!first_gop || conout_found) {
-                       /*
-                        * Systems that use the UEFI Console Splitter may
-                        * provide multiple GOP devices, not all of which are
-                        * backed by real hardware. The workaround is to search
-                        * for a GOP implementing the ConOut protocol, and if
-                        * one isn't found, to just fall back to the first GOP.
-                        *
-                        * Once we've found a GOP supporting ConOut,
-                        * don't bother looking any further.
-                        */
+                       return gop;
+
+               if (!first_gop)
                        first_gop = gop;
-                       if (conout_found)
-                               break;
-               }
        }
 
        return first_gop;