summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2017-11-26 14:05:17 +0100
committerAlexander Graf <agraf@suse.de>2017-12-01 13:37:49 +0100
commit69fb6b1afcf37d3f68c6e0614658cfc023410e09 (patch)
treeaa381642cf9fb952ec8021c22bdd76f1b1f03318 /include
parent72292aba4f0b4857f0951bd670d08d9d73b2d6b2 (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.h6
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;
};