efi/gop: Slightly re-arrange logic of find_gop

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>
This commit is contained in:
Arvind Sankar 2020-03-19 22:00:19 -04:00 коммит произвёл Ard Biesheuvel
Родитель ecf53091f3
Коммит 8e0a22e2b0
1 изменённых файлов: 12 добавлений и 16 удалений

Просмотреть файл

@ -99,7 +99,6 @@ find_gop(efi_guid_t *proto, unsigned long size, void **handles)
for_each_efi_handle(h, handles, size, i) { for_each_efi_handle(h, handles, size, i) {
efi_guid_t conout_proto = EFI_CONSOLE_OUT_DEVICE_GUID; efi_guid_t conout_proto = EFI_CONSOLE_OUT_DEVICE_GUID;
bool conout_found = false;
void *dummy = NULL; void *dummy = NULL;
status = efi_bs_call(handle_protocol, h, proto, (void **)&gop); 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) if (info->pixel_format == PIXEL_BLT_ONLY)
continue; 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); status = efi_bs_call(handle_protocol, h, &conout_proto, &dummy);
if (status == EFI_SUCCESS) if (status == EFI_SUCCESS)
conout_found = true; return gop;
if (!first_gop || conout_found) { if (!first_gop)
/*
* 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.
*/
first_gop = gop; first_gop = gop;
if (conout_found)
break;
}
} }
return first_gop; return first_gop;