#define PREFIX "ACPI: "
-asm (".weak iosapic_register_intr");
-asm (".weak iosapic_override_isa_irq");
-asm (".weak iosapic_register_platform_intr");
-asm (".weak iosapic_init");
-asm (".weak iosapic_system_init");
-asm (".weak iosapic_version");
-
void (*pm_idle) (void);
void (*pm_power_off) (void);
acpi_table_print_madt_entry(header);
- if (iosapic_init)
- iosapic_init(iosapic->address, iosapic->global_irq_base);
+ iosapic_init(iosapic->address, iosapic->global_irq_base);
return 0;
}
acpi_table_print_madt_entry(header);
- if (!iosapic_register_platform_intr) {
- printk(KERN_WARNING PREFIX "No ACPI platform interrupt support\n");
- return -ENODEV;
- }
-
/*
* Get vector assignment for this interrupt, set attributes,
* and program the IOSAPIC routing table.
acpi_table_print_madt_entry(header);
- /* Ignore if the platform doesn't support overrides */
- if (!iosapic_override_isa_irq)
- return 0;
-
iosapic_override_isa_irq(p->bus_irq, p->global_irq,
(p->flags.polarity == 1) ? IOSAPIC_POL_HIGH : IOSAPIC_POL_LOW,
(p->flags.trigger == 1) ? IOSAPIC_EDGE : IOSAPIC_LEVEL);
#else
has_8259 = acpi_madt->flags.pcat_compat;
#endif
- if (iosapic_system_init)
- iosapic_system_init(has_8259);
+ iosapic_system_init(has_8259);
/* Get base address of IPI Message Block */
if (!(fadt->iapc_boot_arch & BAF_8042_KEYBOARD_CONTROLLER))
acpi_kbd_controller_present = 0;
- if (!iosapic_register_intr)
- return 0; /* just ignore the rest */
-
sci_irq = fadt->sci_int;
if (has_8259 && sci_irq < 16)
if (has_8259 && (gsi < 16))
return isa_irq_to_vector(gsi);
- if (!iosapic_register_intr)
- return 0;
-
/* Turn it on */
vector = iosapic_register_intr (gsi,
(polarity == ACPI_ACTIVE_HIGH) ? IOSAPIC_POL_HIGH : IOSAPIC_POL_LOW,
#ifndef __ASSEMBLY__
+#ifdef CONFIG_IOSAPIC
extern void __init iosapic_system_init (int pcat_compat);
extern void __init iosapic_init (unsigned long address,
unsigned int gsi_base);
extern unsigned int iosapic_version (char *addr);
extern void iosapic_pci_fixup (int);
+#else
+#define iosapic_system_init(pcat_compat) do { } while (0)
+#define iosapic_init(address,gsi_base) do { } while (0)
+#define iosapic_register_intr(gsi,polarity,trigger) (gsi)
+#define iosapic_override_isa_irq(isa_irq,gsi,polarity,trigger) do { } while (0)
+#define iosapic_register_platform_intr(type,gsi,pmi,eid,id, \
+ polarity,trigger) (gsi)
+#endif
# endif /* !__ASSEMBLY__ */
#endif /* __ASM_IA64_IOSAPIC_H */