diff options
| -rw-r--r-- | dmi.c | 26 | 
1 files changed, 6 insertions, 20 deletions
| @@ -24,21 +24,7 @@  #include "flash.h" -enum dmi_strings { -	DMI_SYS_MANUFACTURER, -	DMI_SYS_PRODUCT, -	DMI_SYS_VERSION, -	DMI_BB_MANUFACTURER, -	DMI_BB_PRODUCT, -	DMI_BB_VERSION, -	DMI_ID_INVALID, /* This must always be the last entry! */ -}; - -/* - * The short_id for baseboard starts with "m" as in mainboard to leave - * "b" available for BIOS. - */ -const char *dmidecode_names[DMI_ID_INVALID] = { +const char *dmidecode_names[] = {  	"system-manufacturer",  	"system-product-name",  	"system-version", @@ -51,7 +37,7 @@ const char *dmidecode_names[DMI_ID_INVALID] = {  const char *dmidecode_command = "dmidecode";  int has_dmi_support = 0; -char *dmistrings[DMI_ID_INVALID]; +char *dmistrings[ARRAY_SIZE(dmidecode_names)];  /* Strings longer than 4096 in DMI are just insane. */  #define DMI_MAX_ANSWER_LEN 4096 @@ -104,17 +90,17 @@ void dmi_init(void)  	char *chassis_type;  	has_dmi_support = 1; -	for (i = 0; i < DMI_ID_INVALID; i++) { +	for (i = 0; i < ARRAY_SIZE(dmidecode_names); i++) {  		dmistrings[i] = get_dmi_string(dmidecode_names[i]);  		if (!dmistrings[i]) {  			has_dmi_support = 0; -			break; +			return;  		}  	}  	chassis_type = get_dmi_string("chassis-type");  	if (chassis_type && !strcmp(chassis_type, "Notebook")) { -		printf_debug("Laptop detected via DMI"); +		printf_debug("Laptop detected via DMI\n");  		is_laptop = 1;  	}  	free(chassis_type); @@ -175,7 +161,7 @@ int dmi_match(const char *pattern)  	if (!has_dmi_support)  		return 0; -	for (i = 0; i < DMI_ID_INVALID; i++) +	for (i = 0; i < ARRAY_SIZE(dmidecode_names); i++)  		if (dmi_compare(dmistrings[i], pattern))  			return 1; | 
