summaryrefslogtreecommitdiff
path: root/common/bloblist.c
diff options
context:
space:
mode:
authorRaymond Mao <raymond.mao@linaro.org>2024-02-03 08:36:22 -0800
committerTom Rini <trini@konsulko.com>2024-02-29 09:24:22 -0500
commit1ef43f3bf20a4a9508c299a738d01faa3dc3ce95 (patch)
treef433886d55930ffe50ed879f8bb3f60dc4ef9884 /common/bloblist.c
parent67254214930cd2cb52279b01690c1f820a7f83db (diff)
bloblist: refactor of bloblist_reloc()
The current bloblist pointer and size can be retrieved from global data, so we don't need to pass them from the function arguments. This change also help to remove all external access of gd->bloblist outside of bloblist module. Signed-off-by: Raymond Mao <raymond.mao@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Diffstat (limited to 'common/bloblist.c')
-rw-r--r--common/bloblist.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/common/bloblist.c b/common/bloblist.c
index 26b0ba33b11..c2fd07575fb 100644
--- a/common/bloblist.c
+++ b/common/bloblist.c
@@ -472,13 +472,19 @@ void bloblist_show_list(void)
}
}
-void bloblist_reloc(void *to, uint to_size, void *from, uint from_size)
+int bloblist_reloc(void *to, uint to_size)
{
struct bloblist_hdr *hdr;
- memcpy(to, from, from_size);
+ if (to_size < gd->bloblist->total_size)
+ return -ENOSPC;
+
+ memcpy(to, gd->bloblist, gd->bloblist->total_size);
hdr = to;
hdr->total_size = to_size;
+ gd->bloblist = to;
+
+ return 0;
}
int bloblist_init(void)