2.4.23-pre8 ACPI breaks x86_64

From: Bernhard Rosenkraenzer
Date: Sat Oct 25 2003 - 17:34:20 EST


SSIA - drivers/acpi/bus.c started using acpi_pic_set_level_irq
unconditionally, and the function doesn't exist on x86_64.

The attached patch _might_ fix it (I don't have the x86_64 manuals and
can't reboot my x86_64 test box to test myself ATM -- too many people
working on it ;) )

LLaP
bero

--
Ark Linux - Linux for the masses
http://www.arklinux.org/

Redistribution and processing of this message is subject to
http://www.arklinux.org/terms.php--- linux-2.4.22/arch/x86_64/kernel/acpi.c.ark 2003-10-26 07:25:10.000000000 +0100
+++ linux-2.4.22/arch/x86_64/kernel/acpi.c 2003-10-26 07:30:07.000000000 +0100
@@ -565,4 +565,17 @@

#endif /*CONFIG_ACPI_SLEEP*/

+#ifdef CONFIG_ACPI_BUS
+void acpi_pic_set_level_irq(unsigned int irq)
+{
+ unsigned char mask = 1 << (irq & 7);
+ unsigned int port = 0x4d0 + (irq >> 3);
+ unsigned char val = inb(port);

+ if (!(val & mask)) {
+ printk(KERN_WARNING PREFIX "IRQ %d was Edge Triggered, "
+ "setting to Level Triggered\n", irq);
+ outb(val | mask, port);
+ }
+}
+#endif /* CONFIG_ACPI_BUS */