1 /* Public domain. */
2 
3 #ifndef _LINUX_MOD_DEVICETABLE_H
4 #define _LINUX_MOD_DEVICETABLE_H
5 
6 enum dmi_field {
7 	DMI_NONE,
8 	DMI_BIOS_VENDOR,
9 	DMI_BIOS_VERSION,
10 	DMI_BIOS_DATE,
11 	DMI_SYS_VENDOR,
12 	DMI_PRODUCT_NAME,
13 	DMI_PRODUCT_VERSION,
14 	DMI_PRODUCT_SERIAL,
15 	DMI_PRODUCT_UUID,
16 	DMI_PRODUCT_SKU,
17 	DMI_BOARD_VENDOR,
18 	DMI_BOARD_NAME,
19 	DMI_BOARD_VERSION,
20 	DMI_BOARD_SERIAL,
21 	DMI_BOARD_ASSET_TAG,
22 	DMI_CHASSIS_VENDOR,
23 	DMI_CHASSIS_TYPE,
24 	DMI_CHASSIS_VERSION,
25 	DMI_CHASSIS_SERIAL,
26 	DMI_CHASSIS_ASSET_TAG,
27 	DMI_STRING_MAX,
28 };
29 
30 struct dmi_strmatch {
31 	unsigned char slot;
32 	char substr[79];
33 };
34 
35 struct dmi_system_id {
36 	int (*callback)(const struct dmi_system_id *);
37 	const char *ident;
38 	struct dmi_strmatch matches[4];
39 	void *driver_data;
40 };
41 #define	DMI_MATCH(a, b) {(a), (b)}
42 #define	DMI_EXACT_MATCH(a, b) {(a), (b)}
43 
44 struct pci_device_id {
45 	uint16_t vendor;
46 	uint16_t device;
47 	uint16_t subvendor;
48 	uint16_t subdevice;
49 	uint32_t class;
50 	uint32_t class_mask;
51 	unsigned long driver_data;
52 };
53 
54 #define ACPI_ID_LEN	16
55 
56 #endif
57