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