bootstd: Remove special-case code for boot_targets
Rather than implement this as its own case in build_order(), process the boot_targets environment variable in the bootstd_get_bootdev_order() function. This allows build_order() to be simplified. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
+11
-3
@@ -22,7 +22,10 @@ struct udevice;
|
||||
* @prefixes: NULL-terminated list of prefixes to use for bootflow filenames,
|
||||
* e.g. "/", "/boot/"; NULL if none
|
||||
* @bootdev_order: Order to use for bootdevs (or NULL if none), with each item
|
||||
* being a bootdev label, e.g. "mmc2", "mmc1";
|
||||
* being a bootdev label, e.g. "mmc2", "mmc1" (NULL terminated)
|
||||
* @env_order: Order as specified by the boot_targets env var (or NULL if none),
|
||||
* with each item being a bootdev label, e.g. "mmc2", "mmc1" (NULL
|
||||
* terminated)
|
||||
* @cur_bootdev: Currently selected bootdev (for commands)
|
||||
* @cur_bootflow: Currently selected bootflow (for commands)
|
||||
* @glob_head: Head for the global list of all bootflows across all bootdevs
|
||||
@@ -34,6 +37,7 @@ struct udevice;
|
||||
struct bootstd_priv {
|
||||
const char **prefixes;
|
||||
const char **bootdev_order;
|
||||
const char **env_order;
|
||||
struct udevice *cur_bootdev;
|
||||
struct bootflow *cur_bootflow;
|
||||
struct list_head glob_head;
|
||||
@@ -51,9 +55,13 @@ struct bootstd_priv {
|
||||
* The list is alloced by the bootstd driver so should not be freed. That is the
|
||||
* reason for all the const stuff in the function signature
|
||||
*
|
||||
* Return: list of string points, terminated by NULL; or NULL if no boot order
|
||||
* @dev: bootstd device
|
||||
* @okp: returns true if OK, false if out of memory
|
||||
* Return: list of string pointers, terminated by NULL; or NULL if no boot
|
||||
* order. Note that this returns NULL in the case of an empty list
|
||||
*/
|
||||
const char *const *const bootstd_get_bootdev_order(struct udevice *dev);
|
||||
const char *const *const bootstd_get_bootdev_order(struct udevice *dev,
|
||||
bool *okp);
|
||||
|
||||
/**
|
||||
* bootstd_get_prefixes() - Get the filename-prefixes list
|
||||
|
||||
Reference in New Issue
Block a user