summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Holland <[email protected]>2024-07-30 21:58:55 -0700
committerAnup Patel <[email protected]>2024-08-24 13:02:58 +0530
commitfa6dfce017eed32cbae2581bc285bafd52929d42 (patch)
treef8e1432ddaeb28e5e94b078cc941351460922a2e
parent6e5db7b09c6c25be59900a3470923727a4e14033 (diff)
lib: utils/reset: Pass the FDT to fdt_reset_init()
Indicate that this function does not modify the FDT blob, and deduplicate the call to fdt_get_address(). Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Andrew Jones <[email protected]> Reviewed-by: Anup Patel <[email protected]>
-rw-r--r--include/sbi_utils/reset/fdt_reset.h4
-rw-r--r--lib/utils/reset/fdt_reset.c3
-rw-r--r--platform/generic/platform.c2
3 files changed, 4 insertions, 5 deletions
diff --git a/include/sbi_utils/reset/fdt_reset.h b/include/sbi_utils/reset/fdt_reset.h
index 80179873..f126fd33 100644
--- a/include/sbi_utils/reset/fdt_reset.h
+++ b/include/sbi_utils/reset/fdt_reset.h
@@ -29,7 +29,7 @@ int fdt_reset_driver_init(const void *fdt, struct fdt_reset *drv);
*
* This function shall be invoked in final init.
*/
-void fdt_reset_init(void);
+void fdt_reset_init(const void *fdt);
#else
@@ -37,7 +37,7 @@ static inline int fdt_reset_driver_init(const void *fdt, struct fdt_reset *drv)
{
return 0;
}
-static inline void fdt_reset_init(void) { }
+static inline void fdt_reset_init(const void *fdt) { }
#endif
diff --git a/lib/utils/reset/fdt_reset.c b/lib/utils/reset/fdt_reset.c
index 960c08d0..05deb75e 100644
--- a/lib/utils/reset/fdt_reset.c
+++ b/lib/utils/reset/fdt_reset.c
@@ -42,10 +42,9 @@ int fdt_reset_driver_init(const void *fdt, struct fdt_reset *drv)
return cnt > 0 ? 0 : SBI_ENODEV;
}
-void fdt_reset_init(void)
+void fdt_reset_init(const void *fdt)
{
int pos;
- const void *fdt = fdt_get_address();
for (pos = 0; pos < fdt_reset_drivers_size; pos++)
fdt_reset_driver_init(fdt, fdt_reset_drivers[pos]);
diff --git a/platform/generic/platform.c b/platform/generic/platform.c
index 6f9fb4db..2850d55d 100644
--- a/platform/generic/platform.c
+++ b/platform/generic/platform.c
@@ -225,7 +225,7 @@ static int generic_early_init(bool cold_boot)
int rc;
if (cold_boot) {
- fdt_reset_init();
+ fdt_reset_init(fdt);
if (semihosting_enabled())
rc = semihosting_init();