From 6e5db7b09c6c25be59900a3470923727a4e14033 Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Tue, 30 Jul 2024 21:58:54 -0700 Subject: platform: generic: Pass FDT to early/final_init overrides Several of these override functions access the FDT blob. Explicitly indicate which callbacks are allowed to modify the FDT blob by passing the parameter as a possibly-const pointer. This also reduces code size by deduplicating the call to fdt_get_address(). Signed-off-by: Samuel Holland Reviewed-by: Andrew Jones Reviewed-by: Anup Patel --- platform/generic/include/andes/andes_pma.h | 3 ++- platform/generic/include/platform_override.h | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'platform/generic/include') diff --git a/platform/generic/include/andes/andes_pma.h b/platform/generic/include/andes/andes_pma.h index e2d52791..be614964 100644 --- a/platform/generic/include/andes/andes_pma.h +++ b/platform/generic/include/andes/andes_pma.h @@ -48,7 +48,8 @@ struct andes_pma_region { bool dma_default; }; -int andes_pma_setup_regions(const struct andes_pma_region *pma_regions, +int andes_pma_setup_regions(void *fdt, + const struct andes_pma_region *pma_regions, unsigned int pma_regions_count); /** diff --git a/platform/generic/include/platform_override.h b/platform/generic/include/platform_override.h index bd6fdacc..946fb8f7 100644 --- a/platform/generic/include/platform_override.h +++ b/platform/generic/include/platform_override.h @@ -21,8 +21,8 @@ struct platform_override { u64 (*tlbr_flush_limit)(const struct fdt_match *match); u32 (*tlb_num_entries)(const struct fdt_match *match); bool (*cold_boot_allowed)(u32 hartid, const struct fdt_match *match); - int (*early_init)(bool cold_boot, const struct fdt_match *match); - int (*final_init)(bool cold_boot, const struct fdt_match *match); + int (*early_init)(bool cold_boot, const void *fdt, const struct fdt_match *match); + int (*final_init)(bool cold_boot, void *fdt, const struct fdt_match *match); void (*early_exit)(const struct fdt_match *match); void (*final_exit)(const struct fdt_match *match); int (*fdt_fixup)(void *fdt, const struct fdt_match *match); -- cgit v1.2.3