blob: 28a84f6185a789834bdf753dc4e17e1bba8636c8 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef __ASM_MACH_MPPARSE_H
2#define __ASM_MACH_MPPARSE_H
3
Natalie.Protasevich@unisys.com56f1d5d2005-09-03 15:56:34 -07004#include <linux/acpi.h>
5
Linus Torvalds1da177e2005-04-16 15:20:36 -07006static 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
12static inline void mpc_oem_pci_bus(struct mpc_config_bus *m,
13 struct mpc_config_translation *translation)
14{
15}
16
Natalie.Protasevich@unisys.com56f1d5d2005-09-03 15:56:34 -070017extern int parse_unisys_oem (char *oemptr);
18extern int find_unisys_acpi_oem_table(unsigned long *oem_addr);
19extern void setup_unisys();
Linus Torvalds1da177e2005-04-16 15:20:36 -070020
21static 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.com56f1d5d2005-09-03 15:56:34 -070028 return parse_unisys_oem((char *)oem_table);
Linus Torvalds1da177e2005-04-16 15:20:36 -070029 }
30 return 0;
31}
32
Natalie.Protasevich@unisys.com56f1d5d2005-09-03 15:56:34 -070033static 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 Torvalds1da177e2005-04-16 15:20:36 -070043/* Hook from generic ACPI tables.c */
44static inline int acpi_madt_oem_check(char *oem_id, char *oem_table_id)
45{
46 unsigned long oem_addr;
Natalie.Protasevich@unisys.com56f1d5d2005-09-03 15:56:34 -070047 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 Torvalds1da177e2005-04-16 15:20:36 -070055 return 0;
56}
57
58
59#endif /* __ASM_MACH_MPPARSE_H */