blob: 5e93e6dce9a4751b7107d24e4e241a1eb1989651 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef __DMI_H__
2#define __DMI_H__
3
4enum dmi_field {
5 DMI_NONE,
6 DMI_BIOS_VENDOR,
7 DMI_BIOS_VERSION,
8 DMI_BIOS_DATE,
9 DMI_SYS_VENDOR,
10 DMI_PRODUCT_NAME,
11 DMI_PRODUCT_VERSION,
Dmitry Torokhove70c9d52005-06-25 14:54:25 -070012 DMI_PRODUCT_SERIAL,
Linus Torvalds1da177e2005-04-16 15:20:36 -070013 DMI_BOARD_VENDOR,
14 DMI_BOARD_NAME,
15 DMI_BOARD_VERSION,
16 DMI_STRING_MAX,
17};
18
19/*
20 * DMI callbacks for problem boards
21 */
22struct dmi_strmatch {
23 u8 slot;
24 char *substr;
25};
26
27struct dmi_system_id {
28 int (*callback)(struct dmi_system_id *);
29 char *ident;
30 struct dmi_strmatch matches[4];
31 void *driver_data;
32};
33
34#define DMI_MATCH(a,b) { a, b }
35
36#if defined(CONFIG_X86) && !defined(CONFIG_X86_64)
37
38extern int dmi_check_system(struct dmi_system_id *list);
39extern char * dmi_get_system_info(int field);
40
41#else
42
43static inline int dmi_check_system(struct dmi_system_id *list) { return 0; }
44static inline char * dmi_get_system_info(int field) { return NULL; }
45
46#endif
47
48#endif /* __DMI_H__ */