diff options
Diffstat (limited to 'drivers/firmware/dmi_scan.c')
| -rw-r--r-- | drivers/firmware/dmi_scan.c | 28 | 
1 files changed, 15 insertions, 13 deletions
diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c index 099d83e4e910..fae2d5c43314 100644 --- a/drivers/firmware/dmi_scan.c +++ b/drivers/firmware/dmi_scan.c @@ -416,11 +416,8 @@ static void __init save_mem_devices(const struct dmi_header *dm, void *v)  	nr++;  } -void __init dmi_memdev_walk(void) +static void __init dmi_memdev_walk(void)  { -	if (!dmi_available) -		return; -  	if (dmi_walk_early(count_mem_devices) == 0 && dmi_memdev_nr) {  		dmi_memdev = dmi_alloc(sizeof(*dmi_memdev) * dmi_memdev_nr);  		if (dmi_memdev) @@ -614,7 +611,7 @@ static int __init dmi_smbios3_present(const u8 *buf)  	return 1;  } -void __init dmi_scan_machine(void) +static void __init dmi_scan_machine(void)  {  	char __iomem *p, *q;  	char buf[32]; @@ -769,15 +766,20 @@ static int __init dmi_init(void)  subsys_initcall(dmi_init);  /** - * dmi_set_dump_stack_arch_desc - set arch description for dump_stack() + *	dmi_setup - scan and setup DMI system information   * - * Invoke dump_stack_set_arch_desc() with DMI system information so that - * DMI identifiers are printed out on task dumps.  Arch boot code should - * call this function after dmi_scan_machine() if it wants to print out DMI - * identifiers on task dumps. + *	Scan the DMI system information. This setups DMI identifiers + *	(dmi_system_id) for printing it out on task dumps and prepares + *	DIMM entry information (dmi_memdev_info) from the SMBIOS table + *	for using this when reporting memory errors.   */ -void __init dmi_set_dump_stack_arch_desc(void) +void __init dmi_setup(void)  { +	dmi_scan_machine(); +	if (!dmi_available) +		return; + +	dmi_memdev_walk();  	dump_stack_set_arch_desc("%s", dmi_ids_string);  } @@ -841,7 +843,7 @@ static bool dmi_is_end_of_table(const struct dmi_system_id *dmi)   *	returns non zero or we hit the end. Callback function is called for   *	each successful match. Returns the number of matches.   * - *	dmi_scan_machine must be called before this function is called. + *	dmi_setup must be called before this function is called.   */  int dmi_check_system(const struct dmi_system_id *list)  { @@ -871,7 +873,7 @@ EXPORT_SYMBOL(dmi_check_system);   *	Walk the blacklist table until the first match is found.  Return the   *	pointer to the matching entry or NULL if there's no match.   * - *	dmi_scan_machine must be called before this function is called. + *	dmi_setup must be called before this function is called.   */  const struct dmi_system_id *dmi_first_match(const struct dmi_system_id *list)  {  | 
