minimai ACPI pci_irq.c for ia64
Hi Andy,
Here is a patch for pci_irq.c. It's the minimum needed to get PCI irqs to work on ia64. In the past, we did some irq.link -> irq translation magic in this file as well, but since I understand that the acpi_parse_prt() code is supposed to set the irq member instead, I updated the ia64 code to do just that.
Would it be possible to get this to Linus asap? I'm hoping to have the ia64 kernel be buildable from Linus' sources by the time 2.6.0-test2 is out (yeah, maybe wishful thinking... ;-)
Thanks!
--david
drivers/acpi/pci_irq.c +9 -0
@@ -24,6 +24,8 @@* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ +#include <linux/config.h> +#include <linux/kernel.h> #include <linux/module.h> #include <linux/init.h>
@@ -36,6 +38,9 @@#ifdef CONFIG_X86_IO_APIC #include <asm/mpspec.h> #endif +#ifdef CONFIG_IOSAPIC +# include <asm/iosapic.h> +#endif #include <acpi/acpi_bus.h> #include <acpi/acpi_drivers.h>
@@ -369,6 +374,10 @@ irq_mask |= (1 << dev->irq); eisa_set_level_irq(dev->irq); } +#endif +#ifdef CONFIG_IOSAPIC +if (acpi_irq_model =ACPI_IRQ_MODEL_IOSAPIC ) +iosapic_enable_intr (dev->irq);#endif return_VALUE (dev->irq);