summaryrefslogtreecommitdiff
path: root/arch/arm/lib/xferlist.c
diff options
context:
space:
mode:
authorRaymond Mao <raymond.mao@linaro.org>2025-02-19 16:02:19 -0800
committerTom Rini <trini@konsulko.com>2025-02-19 18:49:36 -0600
commit6799f09069f402a33c9cb202b71e144497bd9b7a (patch)
tree2b13bc02a4a75795ed42de3885b50bd4a2e60eb4 /arch/arm/lib/xferlist.c
parent42aebf0f987798599b5f2d2ca6098a775bb9f448 (diff)
bloblist: refactor xferlist and bloblist
Refactor the xferlist to remove the relocating when bloblist passed from the boot args. Refactor bloblist init to use incoming standard passage by default if a valid transfer list exists in the boot args. For bloblist relocation, use the actual total size if it has a smaller BLOBLIST_SIZE_RELOC. Signed-off-by: Raymond Mao <raymond.mao@linaro.org> Suggested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Diffstat (limited to 'arch/arm/lib/xferlist.c')
-rw-r--r--arch/arm/lib/xferlist.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/arch/arm/lib/xferlist.c b/arch/arm/lib/xferlist.c
index f9c5d88bd47..6425936d354 100644
--- a/arch/arm/lib/xferlist.c
+++ b/arch/arm/lib/xferlist.c
@@ -8,18 +8,16 @@
#include <bloblist.h>
#include "xferlist.h"
-int xferlist_from_boot_arg(ulong addr, ulong size)
+int xferlist_from_boot_arg(ulong *addr)
{
int ret;
- ret = bloblist_check(saved_args[3], size);
- if (ret)
- return ret;
-
ret = bloblist_check_reg_conv(saved_args[0], saved_args[2],
- saved_args[1]);
+ saved_args[1], saved_args[3]);
if (ret)
return ret;
- return bloblist_reloc((void *)addr, size);
+ *addr = bloblist_get_base();
+
+ return 0;
}