diff options
| author | Simon Glass <sjg@chromium.org> | 2024-12-19 11:28:52 -0700 | 
|---|---|---|
| committer | Tom Rini <trini@konsulko.com> | 2024-12-27 15:16:10 -0600 | 
| commit | 19574e35f46ce2b24fd5f9cacb09260226d1b9f5 (patch) | |
| tree | d922366a05ab5fb03a904a325afbb12dd286d69b | |
| parent | 771f0e9877efec600ebe8c4cb5bc7df549544a4e (diff) | |
bootstd: Avoid sprintf() in SPL when creating bootdevs
The name of the bootdev device is not that important, particular in SPL.
Save a little code space by using a simpler name.
Signed-off-by: Simon Glass <sjg@chromium.org>
| -rw-r--r-- | boot/bootdev-uclass.c | 10 | 
1 files changed, 8 insertions, 2 deletions
| diff --git a/boot/bootdev-uclass.c b/boot/bootdev-uclass.c index 64ec4fde493..2e61c853142 100644 --- a/boot/bootdev-uclass.c +++ b/boot/bootdev-uclass.c @@ -16,6 +16,7 @@  #include <malloc.h>  #include <part.h>  #include <sort.h> +#include <spl.h>  #include <dm/device-internal.h>  #include <dm/lists.h>  #include <dm/uclass-internal.h> @@ -278,8 +279,13 @@ int bootdev_setup_for_sibling_blk(struct udevice *blk, const char *drv_name)  	int ret, len;  	len = bootdev_get_suffix_start(blk, ".blk"); -	snprintf(dev_name, sizeof(dev_name), "%.*s.%s", len, blk->name, -		 "bootdev"); +	if (xpl_phase() < PHASE_BOARD_R) { +		strlcpy(dev_name, blk->name, sizeof(dev_name) - 5); +		strcat(dev_name, ".sib"); +	} else { +		snprintf(dev_name, sizeof(dev_name), "%.*s.%s", len, blk->name, +			 "bootdev"); +	}  	parent = dev_get_parent(blk);  	ret = device_find_child_by_name(parent, dev_name, &dev); | 
