From 44bf6fcbb2ca9cca24038b29afb695db41a629f0 Mon Sep 17 00:00:00 2001 From: Philip Prindeville Date: Fri, 23 Dec 2011 18:33:05 -0700 Subject: Let lib_get_sysinfo() pass through the success of get_coreboot_info() The return status of get_coreboot_info() might be handy to a platform driver calling lib_get_sysinfo() to test for the presence of coreboot. Change-Id: I0176c93ee92c9dff733112026ee50f2ca797bdff Signed-off-by: Philip Prindeville Reviewed-on: http://review.coreboot.org/503 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi --- payloads/libpayload/arch/i386/sysinfo.c | 8 ++++++-- payloads/libpayload/arch/powerpc/sysinfo.c | 8 ++++++-- payloads/libpayload/include/libpayload.h | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) (limited to 'payloads/libpayload') diff --git a/payloads/libpayload/arch/i386/sysinfo.c b/payloads/libpayload/arch/i386/sysinfo.c index 599a81140d..6c1ef3fc1c 100644 --- a/payloads/libpayload/arch/i386/sysinfo.c +++ b/payloads/libpayload/arch/i386/sysinfo.c @@ -45,8 +45,10 @@ struct sysinfo_t lib_sysinfo = { #endif }; -void lib_get_sysinfo(void) +int lib_get_sysinfo(void) { + int ret; + /* Get the CPU speed (for delays). */ lib_sysinfo.cpu_khz = get_cpu_speed(); @@ -59,7 +61,7 @@ void lib_get_sysinfo(void) /* Get information from the coreboot tables, * if they exist */ - get_coreboot_info(&lib_sysinfo); + ret = get_coreboot_info(&lib_sysinfo); if (!lib_sysinfo.n_memranges) { /* If we can't get a good memory range, use the default. */ @@ -73,4 +75,6 @@ void lib_get_sysinfo(void) lib_sysinfo.memrange[1].size = 31 * 1024 * 1024; lib_sysinfo.memrange[1].type = CB_MEM_RAM; } + + return ret; } diff --git a/payloads/libpayload/arch/powerpc/sysinfo.c b/payloads/libpayload/arch/powerpc/sysinfo.c index 599a81140d..6c1ef3fc1c 100644 --- a/payloads/libpayload/arch/powerpc/sysinfo.c +++ b/payloads/libpayload/arch/powerpc/sysinfo.c @@ -45,8 +45,10 @@ struct sysinfo_t lib_sysinfo = { #endif }; -void lib_get_sysinfo(void) +int lib_get_sysinfo(void) { + int ret; + /* Get the CPU speed (for delays). */ lib_sysinfo.cpu_khz = get_cpu_speed(); @@ -59,7 +61,7 @@ void lib_get_sysinfo(void) /* Get information from the coreboot tables, * if they exist */ - get_coreboot_info(&lib_sysinfo); + ret = get_coreboot_info(&lib_sysinfo); if (!lib_sysinfo.n_memranges) { /* If we can't get a good memory range, use the default. */ @@ -73,4 +75,6 @@ void lib_get_sysinfo(void) lib_sysinfo.memrange[1].size = 31 * 1024 * 1024; lib_sysinfo.memrange[1].type = CB_MEM_RAM; } + + return ret; } diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h index 8c8abc437e..d9f7d21781 100644 --- a/payloads/libpayload/include/libpayload.h +++ b/payloads/libpayload/include/libpayload.h @@ -369,7 +369,7 @@ int sysinfo_have_multiboot(unsigned long *addr); int get_coreboot_info(struct sysinfo_t *info); int get_multiboot_info(struct sysinfo_t *info); -void lib_get_sysinfo(void); +int lib_get_sysinfo(void); /* Timer functions - defined by each architecture. */ unsigned int get_cpu_speed(void); -- cgit v1.2.3