aboutsummaryrefslogtreecommitdiff
path: root/include/efi_loader.h
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2018-02-18 15:17:50 +0100
committerAlexander Graf <agraf@suse.de>2018-04-04 11:00:06 +0200
commit43bce44262ca7cbb04bb236c50571ca84eb6fdd9 (patch)
tree49a31f7015cb762c5951c652549b943a2ce1ad31 /include/efi_loader.h
parentab9efa979cc989d7c193e7169101e29ff7822e85 (diff)
downloadu-boot-43bce44262ca7cbb04bb236c50571ca84eb6fdd9.zip
u-boot-43bce44262ca7cbb04bb236c50571ca84eb6fdd9.tar.gz
u-boot-43bce44262ca7cbb04bb236c50571ca84eb6fdd9.tar.bz2
efi_loader: manage events in a linked list
Lift the limit on the number of events by using a linked list. This also allows to have events with type == 0. This patch is based on Rob's patch efi_loader: fix events https://lists.denx.de/pipermail/u-boot/2017-October/309348.html Suggested-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'include/efi_loader.h')
-rw-r--r--include/efi_loader.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/include/efi_loader.h b/include/efi_loader.h
index 60f84dc..1a67058 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -150,17 +150,19 @@ struct efi_object {
/**
* struct efi_event
*
+ * @link: Link to list of all events
* @type: Type of event, see efi_create_event
* @notify_tpl: Task priority level of notifications
- * @trigger_time: Period of the timer
- * @trigger_next: Next time to trigger the timer
* @nofify_function: Function to call when the event is triggered
* @notify_context: Data to be passed to the notify function
+ * @trigger_time: Period of the timer
+ * @trigger_next: Next time to trigger the timer
* @trigger_type: Type of timer, see efi_set_timer
- * @queued: The notification function is queued
- * @signaled: The event occurred. The event is in the signaled state.
+ * @is_queued: The notification function is queued
+ * @is_signaled: The event occurred. The event is in the signaled state.
*/
struct efi_event {
+ struct list_head link;
uint32_t type;
efi_uintn_t notify_tpl;
void (EFIAPI *notify_function)(struct efi_event *event, void *context);
@@ -172,7 +174,6 @@ struct efi_event {
bool is_signaled;
};
-
/* This list contains all UEFI objects we know of */
extern struct list_head efi_obj_list;