summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2018-01-10 13:48:48 +0300
committerMichal Simek <michal.simek@xilinx.com>2018-01-30 16:28:59 +0300
commitf32e79f1595e4565d3b9af44a7f80efd7f017133 (patch)
treea5c2b36f4d1c401cea55b90aae8691784c1da0d3
parent7109930a70da34677fea382cbe062b29b025e208 (diff)
downloadu-boot-f32e79f1595e4565d3b9af44a7f80efd7f017133.tar.xz
arm64: zynqmp: Propagate error value from psu_init()
psu_init() returns int which wasn't declared and checked. The patch is fixing function declarations and code to handle return values properly. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
-rw-r--r--arch/arm/cpu/armv8/zynqmp/spl.c3
-rw-r--r--arch/arm/include/asm/arch-zynqmp/sys_proto.h2
-rw-r--r--board/xilinx/zynqmp/zynqmp.c5
3 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/cpu/armv8/zynqmp/spl.c b/arch/arm/cpu/armv8/zynqmp/spl.c
index e51e2b6156..41ca74a2be 100644
--- a/arch/arm/cpu/armv8/zynqmp/spl.c
+++ b/arch/arm/cpu/armv8/zynqmp/spl.c
@@ -129,12 +129,13 @@ u32 spl_boot_mode(const u32 boot_device)
}
}
-__weak void psu_init(void)
+__weak int psu_init(void)
{
/*
* This function is overridden by the one in
* board/xilinx/zynqmp/(platform)/psu_init_gpl.c, if it exists.
*/
+ return -1;
}
#ifdef CONFIG_SPL_OS_BOOT
diff --git a/arch/arm/include/asm/arch-zynqmp/sys_proto.h b/arch/arm/include/asm/arch-zynqmp/sys_proto.h
index ad28568633..4dfabba80a 100644
--- a/arch/arm/include/asm/arch-zynqmp/sys_proto.h
+++ b/arch/arm/include/asm/arch-zynqmp/sys_proto.h
@@ -33,7 +33,7 @@ enum {
int zynq_board_read_rom_ethaddr(unsigned char *ethaddr);
unsigned int zynqmp_get_silicon_version(void);
-void psu_init(void);
+int psu_init(void);
void handoff_setup(void);
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
index 8b6c0ea466..db557e8806 100644
--- a/board/xilinx/zynqmp/zynqmp.c
+++ b/board/xilinx/zynqmp/zynqmp.c
@@ -237,15 +237,16 @@ static char *zynqmp_get_silicon_idcode_name(void)
int board_early_init_f(void)
{
+ int ret = 0;
#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_CLK_ZYNQMP)
zynqmp_pmufw_version();
#endif
#if defined(CONFIG_SPL_BUILD) || defined(CONFIG_ZYNQMP_PSU_INIT_ENABLED)
- psu_init();
+ ret = psu_init();
#endif
- return 0;
+ return ret;
}
#define ZYNQMP_VERSION_SIZE 9