--- pci.c.orig Sat Jul 28 17:26:40 2001 +++ pci.c Sat Jul 28 17:35:26 2001 @@ -1882,6 +1882,24 @@ spin_unlock_irqrestore (&pool->lock, flags); } +static void __init pci_m5451_init(void) +{ + struct pci_dev *dev; + + /* Allocate IRQ is 4 */ + unsigned char m5451_irq = 4; + + /* for (dev = pci_devices; dev; dev = dev->next) { */ + pci_for_each_dev(dev) { + if (dev->vendor == PCI_VENDOR_ID_AL && + dev->device == PCI_DEVICE_ID_AL_M5451) { + dev->irq = m5451_irq; + printk("PCI m5451_init: Found ALi AUDIO M5451 \n"); + printk("PCI m5451_init: Allocate IRQ %0x \n", m5451_irq); + pci_write_config_byte(dev, PCI_INTERRUPT_LINE, m5451_irq); + } + } +} void __init pci_init(void) { @@ -1896,6 +1914,9 @@ #ifdef CONFIG_PM pm_register(PM_PCI_DEV, 0, pci_pm_callback); #endif + + /** ALi M5451 Patch **/ + pci_m5451_init(); } static int __init pci_setup(char *str)