diff options
Diffstat (limited to 'arch/ia64/sn/kernel/io_common.c')
-rw-r--r-- | arch/ia64/sn/kernel/io_common.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/arch/ia64/sn/kernel/io_common.c b/arch/ia64/sn/kernel/io_common.c index 65979f1fb35..75f0379958f 100644 --- a/arch/ia64/sn/kernel/io_common.c +++ b/arch/ia64/sn/kernel/io_common.c @@ -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(); |