summaryrefslogtreecommitdiff
path: root/board/sifive
diff options
context:
space:
mode:
authorSimon Glass <[email protected]>2024-11-02 11:49:42 -0600
committerTom Rini <[email protected]>2024-12-18 15:18:59 -0600
commitfc37a73e667916e15e01e0f9d189da792df2b351 (patch)
treedfbf6aa2fd3a9af4d7900f929d06ea753b009670 /board/sifive
parent447f18d00de80384df334acdbe5972762d3d1e1e (diff)
fdt: Swap the signature for board_fdt_blob_setup()
This returns a devicetree and updates a parameter with an error code. Swap it, since this fits better with the way U-Boot normally works. It also (more easily) allows leaving the existing pointer unchanged. No yaks were harmed in this change, but there is a very small code-size reduction. For sifive, the OF_BOARD option must be set for the function to be called, so there is no point in checking it again. Also OF_SEPARATE is defined always. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Matthias Brugger <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> [trini: Update total_compute] Signed-off-by: Tom Rini <[email protected]>
Diffstat (limited to 'board/sifive')
-rw-r--r--board/sifive/unleashed/unleashed.c12
-rw-r--r--board/sifive/unmatched/unmatched.c11
2 files changed, 11 insertions, 12 deletions
diff --git a/board/sifive/unleashed/unleashed.c b/board/sifive/unleashed/unleashed.c
index 3c5dd50c369..c1c374610c3 100644
--- a/board/sifive/unleashed/unleashed.c
+++ b/board/sifive/unleashed/unleashed.c
@@ -114,15 +114,15 @@ int misc_init_r(void)
#endif
-void *board_fdt_blob_setup(int *err)
+int board_fdt_blob_setup(void **fdtp)
{
- *err = 0;
- if (IS_ENABLED(CONFIG_OF_SEPARATE) || IS_ENABLED(CONFIG_OF_BOARD)) {
- if (gd->arch.firmware_fdt_addr)
- return (ulong *)(uintptr_t)gd->arch.firmware_fdt_addr;
+ if (gd->arch.firmware_fdt_addr) {
+ *fdtp = (ulong *)(uintptr_t)gd->arch.firmware_fdt_addr;
+
+ return 0;
}
- return (ulong *)_end;
+ return -EEXIST;
}
int board_init(void)
diff --git a/board/sifive/unmatched/unmatched.c b/board/sifive/unmatched/unmatched.c
index c8696270ba2..23e03e145ee 100644
--- a/board/sifive/unmatched/unmatched.c
+++ b/board/sifive/unmatched/unmatched.c
@@ -10,15 +10,14 @@
#include <dm.h>
#include <asm/sections.h>
-void *board_fdt_blob_setup(int *err)
+int board_fdt_blob_setup(void **fdtp)
{
- *err = 0;
- if (IS_ENABLED(CONFIG_OF_SEPARATE) || IS_ENABLED(CONFIG_OF_BOARD)) {
- if (gd->arch.firmware_fdt_addr)
- return (ulong *)(uintptr_t)gd->arch.firmware_fdt_addr;
+ if (gd->arch.firmware_fdt_addr) {
+ *fdtp = (ulong *)(uintptr_t)gd->arch.firmware_fdt_addr;
+ return 0;
}
- return (ulong *)_end;
+ return -EEXIST;
}
int board_init(void)