summaryrefslogtreecommitdiff
path: root/include/bootflow.h
diff options
context:
space:
mode:
authorSimon Glass <[email protected]>2025-10-15 16:44:08 +0100
committerTom Rini <[email protected]>2025-10-22 14:16:56 -0600
commitbef963cb751049cacc86f2754452efadd03ae2f0 (patch)
tree8d3ab1a17fb3204b9d978bfc91caac75d6690a31 /include/bootflow.h
parent0fe6de0dc5b137a2def3a8cc0baa2fb73a3f8541 (diff)
boot: Keep track of which bootmeths have been used
Add a bitfield which tracks when bootmeths have been used. This will be needed when global bootmeths can be used later in the iteration. Fix a missing bootflow_free() while here. Signed-off-by: Simon Glass <[email protected]>
Diffstat (limited to 'include/bootflow.h')
-rw-r--r--include/bootflow.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/bootflow.h b/include/bootflow.h
index b18baebb4ba..58a4ab9f811 100644
--- a/include/bootflow.h
+++ b/include/bootflow.h
@@ -11,7 +11,8 @@
#include <bootdev.h>
#include <image.h>
#include <dm/ofnode_decl.h>
-#include <linux/types.h>
+#include <linux/list.h>
+#include <linux/build_bug.h>
struct bootstd_priv;
struct expo;
@@ -213,6 +214,10 @@ enum bootflow_meth_flags_t {
BOOTFLOW_METHF_SINGLE_UCLASS = 1 << 3,
};
+enum {
+ BOOTMETH_MAX_COUNT = 32,
+};
+
/**
* struct bootflow_iter - state for iterating through bootflows
*
@@ -260,6 +265,8 @@ enum bootflow_meth_flags_t {
* happens before the normal ones)
* @method_flags: flags controlling which methods should be used for this @dev
* (enum bootflow_meth_flags_t)
+ * @methods_done: indicates which methods have been processed, one bit for
+ * each method in @method_order[]
*/
struct bootflow_iter {
int flags;
@@ -282,6 +289,7 @@ struct bootflow_iter {
bool have_global;
bool doing_global;
int method_flags;
+ uint methods_done;
};
/**