diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2020-03-26 09:34:35 +0100 |
---|---|---|
committer | Ard Biesheuvel <ardb@kernel.org> | 2020-04-24 14:52:16 +0200 |
commit | 4eb8320bd1aaa7e69d039f2c251735e3ef0b9a38 (patch) | |
tree | aa84823fc1d4edfb4a9bbbe8bb6c2c9ea07939aa /drivers/firmware/efi/efi.c | |
parent | 4e9a0f73f030e19a9259b69a7079021048e1f904 (diff) | |
download | lwn-4eb8320bd1aaa7e69d039f2c251735e3ef0b9a38.tar.gz lwn-4eb8320bd1aaa7e69d039f2c251735e3ef0b9a38.zip |
efi: Move arch_tables check to caller
Instead of making match_config_table() test its table_types pointer for
NULL-ness, omit the call entirely if no arch_tables pointer was provided
to efi_config_parse_tables().
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'drivers/firmware/efi/efi.c')
-rw-r--r-- | drivers/firmware/efi/efi.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c index e49c0b6db988..48d0188936c3 100644 --- a/drivers/firmware/efi/efi.c +++ b/drivers/firmware/efi/efi.c @@ -525,15 +525,13 @@ static __init int match_config_table(const efi_guid_t *guid, { int i; - if (table_types) { - for (i = 0; efi_guidcmp(table_types[i].guid, NULL_GUID); i++) { - if (!efi_guidcmp(*guid, table_types[i].guid)) { - *(table_types[i].ptr) = table; - if (table_types[i].name[0]) - pr_cont(" %s=0x%lx ", - table_types[i].name, table); - return 1; - } + for (i = 0; efi_guidcmp(table_types[i].guid, NULL_GUID); i++) { + if (!efi_guidcmp(*guid, table_types[i].guid)) { + *(table_types[i].ptr) = table; + if (table_types[i].name[0]) + pr_cont("%s=0x%lx ", + table_types[i].name, table); + return 1; } } @@ -570,7 +568,7 @@ int __init efi_config_parse_tables(const efi_config_table_t *config_tables, table = tbl32[i].table; } - if (!match_config_table(guid, table, common_tables)) + if (!match_config_table(guid, table, common_tables) && arch_tables) match_config_table(guid, table, arch_tables); } pr_cont("\n"); |