|
@@ -25,6 +25,7 @@
|
|
|
#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);
|
|
@@ -36,6 +37,7 @@ extern void sn_legacy_pci_window_fixup(struct pci_controller *, u64, u64);
|
|
|
extern void sn_io_acpi_init(void);
|
|
|
extern void sn_io_init(void);
|
|
|
|
|
|
+
|
|
|
static struct list_head sn_sysdata_list;
|
|
|
|
|
|
/* sysdata list struct */
|
|
@@ -48,7 +50,7 @@ int sn_ioif_inited; /* SN I/O infrastructure initialized? */
|
|
|
|
|
|
struct sn_pcibus_provider *sn_pci_provider[PCIIO_ASIC_MAX_TYPES]; /* indexed by asic type */
|
|
|
|
|
|
-int sn_acpi_base_support()
|
|
|
+int sn_acpi_base_support(void)
|
|
|
{
|
|
|
struct acpi_table_header *header;
|
|
|
(void)acpi_get_table_by_index(ACPI_TABLE_INDEX_DSDT, &header);
|
|
@@ -293,7 +295,7 @@ void sn_pci_fixup_slot(struct pci_dev *dev)
|
|
|
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);
|
|
@@ -505,7 +507,7 @@ void __devinit
|
|
|
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);
|
|
@@ -551,9 +553,13 @@ sn_io_early_init(void)
|
|
|
register_sn_procfs();
|
|
|
#endif
|
|
|
|
|
|
- printk(KERN_INFO "ACPI DSDT OEM Rev 0x%x\n",
|
|
|
- acpi_gbl_DSDT->oem_revision);
|
|
|
- if (sn_acpi_base_support())
|
|
|
+ {
|
|
|
+ struct acpi_table_header *header;
|
|
|
+ (void)acpi_get_table_by_index(ACPI_TABLE_INDEX_DSDT, &header);
|
|
|
+ printk(KERN_INFO "ACPI DSDT OEM Rev 0x%x\n",
|
|
|
+ header->oem_revision);
|
|
|
+ }
|
|
|
+ if (SN_ACPI_BASE_SUPPORT())
|
|
|
sn_io_acpi_init();
|
|
|
else
|
|
|
sn_io_init();
|