ACPICA: minimal patch to integrate new tables into Linux

Signed-off-by: Len Brown <len.brown@intel.com>
diff --git a/arch/ia64/sn/kernel/io_common.c b/arch/ia64/sn/kernel/io_common.c
index d4dd8f4..65979f1 100644
--- a/arch/ia64/sn/kernel/io_common.c
+++ b/arch/ia64/sn/kernel/io_common.c
@@ -25,7 +25,6 @@
 #include "xtalk/xwidgetdev.h"
 #include <linux/acpi.h>
 #include <asm/sn/sn2/sn_hwperf.h>
-#include <asm/sn/acpi.h>
 
 extern void sn_init_cpei_timer(void);
 extern void register_sn_procfs(void);
@@ -37,7 +36,6 @@
 extern void sn_io_acpi_init(void);
 extern void sn_io_init(void);
 
-
 static struct list_head sn_sysdata_list;
 
 /* sysdata list struct */
@@ -50,6 +48,15 @@
 
 struct sn_pcibus_provider *sn_pci_provider[PCIIO_ASIC_MAX_TYPES];	/* indexed by asic type */
 
+int sn_acpi_base_support()
+{
+	struct acpi_table_header *header;
+	(void)acpi_get_table_by_index(ACPI_TABLE_INDEX_DSDT, &header);
+	if (header && header->oem_revision >= 0x20101)
+		return 1;
+	return 0;
+}
+
 /*
  * Hooks and struct for unsupported pci providers
  */
@@ -286,7 +293,7 @@
 	list_add_tail(&pcidev_info->pdi_list,
 		      &(SN_PLATFORM_DATA(dev->bus)->pcidev_info));
 
-	if (SN_ACPI_BASE_SUPPORT())
+	if (sn_acpi_base_support())
 		sn_acpi_slot_fixup(dev, pcidev_info);
 	else
 		sn_more_slot_fixup(dev, pcidev_info);
@@ -498,7 +505,7 @@
 sn_pci_fixup_bus(struct pci_bus *bus)
 {
 
-	if (SN_ACPI_BASE_SUPPORT())
+	if (sn_acpi_base_support())
 		sn_acpi_bus_fixup(bus);
 	else
 		sn_bus_fixup(bus);
@@ -546,7 +553,7 @@
 
 	printk(KERN_INFO "ACPI  DSDT OEM Rev 0x%x\n",
 	       acpi_gbl_DSDT->oem_revision);
-	if (SN_ACPI_BASE_SUPPORT())
+	if (sn_acpi_base_support())
 		sn_io_acpi_init();
 	else
 		sn_io_init();