diff options
Diffstat (limited to 'drivers/firmware/dmi_scan.c')
-rw-r--r-- | drivers/firmware/dmi_scan.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c index b8b596d5778d..37deee6c0c1c 100644 --- a/drivers/firmware/dmi_scan.c +++ b/drivers/firmware/dmi_scan.c | |||
@@ -326,6 +326,26 @@ char *dmi_get_system_info(int field) | |||
326 | } | 326 | } |
327 | EXPORT_SYMBOL(dmi_get_system_info); | 327 | EXPORT_SYMBOL(dmi_get_system_info); |
328 | 328 | ||
329 | |||
330 | /** | ||
331 | * dmi_name_in_vendors - Check if string is anywhere in the DMI vendor information. | ||
332 | * @str: Case sensitive Name | ||
333 | */ | ||
334 | int dmi_name_in_vendors(char *str) | ||
335 | { | ||
336 | static int fields[] = { DMI_BIOS_VENDOR, DMI_BIOS_VERSION, DMI_SYS_VENDOR, | ||
337 | DMI_PRODUCT_NAME, DMI_PRODUCT_VERSION, DMI_BOARD_VENDOR, | ||
338 | DMI_BOARD_NAME, DMI_BOARD_VERSION, DMI_NONE }; | ||
339 | int i; | ||
340 | for (i = 0; fields[i] != DMI_NONE; i++) { | ||
341 | int f = fields[i]; | ||
342 | if (dmi_ident[f] && strstr(dmi_ident[f], str)) | ||
343 | return 1; | ||
344 | } | ||
345 | return 0; | ||
346 | } | ||
347 | EXPORT_SYMBOL(dmi_name_in_vendors); | ||
348 | |||
329 | /** | 349 | /** |
330 | * dmi_find_device - find onboard device by type/name | 350 | * dmi_find_device - find onboard device by type/name |
331 | * @type: device type or %DMI_DEV_TYPE_ANY to match all device types | 351 | * @type: device type or %DMI_DEV_TYPE_ANY to match all device types |