@@ -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
@@ -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]);
@@ -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();
Indicate that this function does not modify the FDT blob, and deduplicate the call to fdt_get_address(). Signed-off-by: Samuel Holland <samuel.holland@sifive.com> --- include/sbi_utils/reset/fdt_reset.h | 4 ++-- lib/utils/reset/fdt_reset.c | 3 +-- platform/generic/platform.c | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-)