| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef __ASM_MACH_MPPARSE_H | 
 | 2 | #define __ASM_MACH_MPPARSE_H | 
 | 3 |  | 
| Natalie.Protasevich@unisys.com | 56f1d5d | 2005-09-03 15:56:34 -0700 | [diff] [blame] | 4 | #include <linux/acpi.h> | 
 | 5 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 6 | static inline void mpc_oem_bus_info(struct mpc_config_bus *m, char *name,  | 
 | 7 | 				struct mpc_config_translation *translation) | 
 | 8 | { | 
 | 9 | 	Dprintk("Bus #%d is %s\n", m->mpc_busid, name); | 
 | 10 | } | 
 | 11 |  | 
 | 12 | static inline void mpc_oem_pci_bus(struct mpc_config_bus *m,  | 
 | 13 | 				struct mpc_config_translation *translation) | 
 | 14 | { | 
 | 15 | } | 
 | 16 |  | 
| Natalie.Protasevich@unisys.com | 56f1d5d | 2005-09-03 15:56:34 -0700 | [diff] [blame] | 17 | extern int parse_unisys_oem (char *oemptr); | 
 | 18 | extern int find_unisys_acpi_oem_table(unsigned long *oem_addr); | 
| Natalie.Protasevich@unisys.com | 9338316 | 2005-10-30 14:59:38 -0800 | [diff] [blame] | 19 | extern void setup_unisys(void); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 |  | 
 | 21 | static inline int mps_oem_check(struct mp_config_table *mpc, char *oem, | 
 | 22 | 		char *productid) | 
 | 23 | { | 
 | 24 | 	if (mpc->mpc_oemptr) { | 
 | 25 | 		struct mp_config_oemtable *oem_table =  | 
 | 26 | 			(struct mp_config_oemtable *)mpc->mpc_oemptr; | 
 | 27 | 		if (!strncmp(oem, "UNISYS", 6)) | 
| Natalie.Protasevich@unisys.com | 56f1d5d | 2005-09-03 15:56:34 -0700 | [diff] [blame] | 28 | 			return parse_unisys_oem((char *)oem_table); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 29 | 	} | 
 | 30 | 	return 0; | 
 | 31 | } | 
 | 32 |  | 
| Natalie.Protasevich@unisys.com | 56f1d5d | 2005-09-03 15:56:34 -0700 | [diff] [blame] | 33 | static inline int es7000_check_dsdt() | 
 | 34 | { | 
 | 35 | 	struct acpi_table_header *header = NULL; | 
 | 36 | 	if(!acpi_get_table_header_early(ACPI_DSDT, &header)) | 
 | 37 | 		acpi_table_print(header, 0); | 
 | 38 | 	if (!strncmp(header->oem_id, "UNISYS", 6)) | 
 | 39 | 		return 1; | 
 | 40 | 	return 0; | 
 | 41 | } | 
 | 42 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 43 | /* Hook from generic ACPI tables.c */ | 
 | 44 | static inline int acpi_madt_oem_check(char *oem_id, char *oem_table_id) | 
 | 45 | { | 
 | 46 | 	unsigned long oem_addr;  | 
| Natalie.Protasevich@unisys.com | 56f1d5d | 2005-09-03 15:56:34 -0700 | [diff] [blame] | 47 | 	if (!find_unisys_acpi_oem_table(&oem_addr)) { | 
 | 48 | 		if (es7000_check_dsdt()) | 
 | 49 | 			return parse_unisys_oem((char *)oem_addr); | 
 | 50 | 		else { | 
 | 51 | 			setup_unisys(); | 
 | 52 | 			return 1; | 
 | 53 | 		} | 
 | 54 | 	} | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 55 | 	return 0; | 
 | 56 | } | 
 | 57 |  | 
 | 58 |  | 
 | 59 | #endif /* __ASM_MACH_MPPARSE_H */ |