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 <philipp@redfish-solutions.com>
Reviewed-on: http://review.coreboot.org/503
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
Philip Prindeville 2011-12-23 18:33:05 -07:00 committed by Patrick Georgi
parent 7d95b3e528
commit 44bf6fcbb2
3 changed files with 13 additions and 5 deletions

View File

@ -45,8 +45,10 @@ struct sysinfo_t lib_sysinfo = {
#endif #endif
}; };
void lib_get_sysinfo(void) int lib_get_sysinfo(void)
{ {
int ret;
/* Get the CPU speed (for delays). */ /* Get the CPU speed (for delays). */
lib_sysinfo.cpu_khz = get_cpu_speed(); lib_sysinfo.cpu_khz = get_cpu_speed();
@ -59,7 +61,7 @@ void lib_get_sysinfo(void)
/* Get information from the coreboot tables, /* Get information from the coreboot tables,
* if they exist */ * if they exist */
get_coreboot_info(&lib_sysinfo); ret = get_coreboot_info(&lib_sysinfo);
if (!lib_sysinfo.n_memranges) { if (!lib_sysinfo.n_memranges) {
/* If we can't get a good memory range, use the default. */ /* 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].size = 31 * 1024 * 1024;
lib_sysinfo.memrange[1].type = CB_MEM_RAM; lib_sysinfo.memrange[1].type = CB_MEM_RAM;
} }
return ret;
} }

View File

@ -45,8 +45,10 @@ struct sysinfo_t lib_sysinfo = {
#endif #endif
}; };
void lib_get_sysinfo(void) int lib_get_sysinfo(void)
{ {
int ret;
/* Get the CPU speed (for delays). */ /* Get the CPU speed (for delays). */
lib_sysinfo.cpu_khz = get_cpu_speed(); lib_sysinfo.cpu_khz = get_cpu_speed();
@ -59,7 +61,7 @@ void lib_get_sysinfo(void)
/* Get information from the coreboot tables, /* Get information from the coreboot tables,
* if they exist */ * if they exist */
get_coreboot_info(&lib_sysinfo); ret = get_coreboot_info(&lib_sysinfo);
if (!lib_sysinfo.n_memranges) { if (!lib_sysinfo.n_memranges) {
/* If we can't get a good memory range, use the default. */ /* 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].size = 31 * 1024 * 1024;
lib_sysinfo.memrange[1].type = CB_MEM_RAM; lib_sysinfo.memrange[1].type = CB_MEM_RAM;
} }
return ret;
} }

View File

@ -369,7 +369,7 @@ int sysinfo_have_multiboot(unsigned long *addr);
int get_coreboot_info(struct sysinfo_t *info); int get_coreboot_info(struct sysinfo_t *info);
int get_multiboot_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. */ /* Timer functions - defined by each architecture. */
unsigned int get_cpu_speed(void); unsigned int get_cpu_speed(void);