diff options
author | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2017-11-26 14:05:17 +0100 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2017-12-01 13:37:49 +0100 |
commit | 69fb6b1afcf37d3f68c6e0614658cfc023410e09 (patch) | |
tree | aa381642cf9fb952ec8021c22bdd76f1b1f03318 /include | |
parent | 72292aba4f0b4857f0951bd670d08d9d73b2d6b2 (diff) |
efi_loader: manage protocols in a linked list
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/efi_loader.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/efi_loader.h b/include/efi_loader.h index e1f0af3496e..a73bbc12695 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -101,6 +101,8 @@ extern unsigned int __efi_runtime_rel_start, __efi_runtime_rel_stop; * interface (usually a struct with callback functions), this struct maps the * protocol GUID to the respective protocol interface */ struct efi_handler { + /* Link to the list of protocols of a handle */ + struct list_head link; const efi_guid_t *guid; void *protocol_interface; }; @@ -115,8 +117,8 @@ struct efi_handler { struct efi_object { /* Every UEFI object is part of a global object list */ struct list_head link; - /* We support up to 16 "protocols" an object can be accessed through */ - struct efi_handler protocols[16]; + /* The list of protocols */ + struct list_head protocols; /* The object spawner can either use this for data or as identifier */ void *handle; }; |