17f4dd379Sjsg /* Public domain. */
27f4dd379Sjsg 
37f4dd379Sjsg #ifndef _LINUX_MOD_DEVICETABLE_H
47f4dd379Sjsg #define _LINUX_MOD_DEVICETABLE_H
57f4dd379Sjsg 
67f4dd379Sjsg enum dmi_field {
77f4dd379Sjsg 	DMI_NONE,
87f4dd379Sjsg 	DMI_BIOS_VENDOR,
97f4dd379Sjsg 	DMI_BIOS_VERSION,
107f4dd379Sjsg 	DMI_BIOS_DATE,
117f4dd379Sjsg 	DMI_SYS_VENDOR,
127f4dd379Sjsg 	DMI_PRODUCT_NAME,
137f4dd379Sjsg 	DMI_PRODUCT_VERSION,
147f4dd379Sjsg 	DMI_PRODUCT_SERIAL,
157f4dd379Sjsg 	DMI_PRODUCT_UUID,
165ca02815Sjsg 	DMI_PRODUCT_SKU,
177f4dd379Sjsg 	DMI_BOARD_VENDOR,
187f4dd379Sjsg 	DMI_BOARD_NAME,
197f4dd379Sjsg 	DMI_BOARD_VERSION,
207f4dd379Sjsg 	DMI_BOARD_SERIAL,
217f4dd379Sjsg 	DMI_BOARD_ASSET_TAG,
227f4dd379Sjsg 	DMI_CHASSIS_VENDOR,
237f4dd379Sjsg 	DMI_CHASSIS_TYPE,
247f4dd379Sjsg 	DMI_CHASSIS_VERSION,
257f4dd379Sjsg 	DMI_CHASSIS_SERIAL,
267f4dd379Sjsg 	DMI_CHASSIS_ASSET_TAG,
277f4dd379Sjsg 	DMI_STRING_MAX,
287f4dd379Sjsg };
297f4dd379Sjsg 
307f4dd379Sjsg struct dmi_strmatch {
317f4dd379Sjsg 	unsigned char slot;
327f4dd379Sjsg 	char substr[79];
337f4dd379Sjsg };
347f4dd379Sjsg 
357f4dd379Sjsg struct dmi_system_id {
367f4dd379Sjsg 	int (*callback)(const struct dmi_system_id *);
377f4dd379Sjsg 	const char *ident;
387f4dd379Sjsg 	struct dmi_strmatch matches[4];
39b1c2f9d1Sjsg 	void *driver_data;
407f4dd379Sjsg };
417f4dd379Sjsg #define	DMI_MATCH(a, b) {(a), (b)}
427f4dd379Sjsg #define	DMI_EXACT_MATCH(a, b) {(a), (b)}
437f4dd379Sjsg 
44c349dbc7Sjsg struct pci_device_id {
45c349dbc7Sjsg 	uint16_t vendor;
46c349dbc7Sjsg 	uint16_t device;
47c349dbc7Sjsg 	uint16_t subvendor;
48c349dbc7Sjsg 	uint16_t subdevice;
49c349dbc7Sjsg 	uint32_t class;
50c349dbc7Sjsg 	uint32_t class_mask;
51c349dbc7Sjsg 	unsigned long driver_data;
52c349dbc7Sjsg };
53c349dbc7Sjsg 
54*a8551f48Sjsg #define ACPI_ID_LEN	16
55*a8551f48Sjsg 
567f4dd379Sjsg #endif
57