diff -Nur linux-2.6.0-test11/include/linux/pci_ids.h linux/include/linux/pci_ids.h --- linux-2.6.0-test11/include/linux/pci_ids.h 2003-11-26 21:43:39.000000000 +0100 +++ linux/include/linux/pci_ids.h 2003-12-03 20:13:17.000000000 +0100 @@ -971,6 +971,7 @@ #define PCI_DEVICE_ID_AL_M1531 0x1531 #define PCI_DEVICE_ID_AL_M1533 0x1533 #define PCI_DEVICE_ID_AL_M1541 0x1541 +#define PCI_DEVICE_ID_AL_M1563 0x1563 #define PCI_DEVICE_ID_AL_M1621 0x1621 #define PCI_DEVICE_ID_AL_M1631 0x1631 #define PCI_DEVICE_ID_AL_M1632 0x1632 diff -Nur linux-2.6.0-test11/drivers/ide/pci/alim15x3.c linux/drivers/ide/pci/alim15x3.c --- linux-2.6.0-test11/drivers/ide/pci/alim15x3.c 2003-11-26 21:43:35.000000000 +0100 +++ linux/drivers/ide/pci/alim15x3.c 2003-12-03 20:16:48.000000000 +0100 @@ -584,6 +584,13 @@ isa_dev = pci_find_device(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, NULL); + /* + * If ALI 1533 southbridge was not found, + * we try to find the ALI 1563 southbridge. + */ + if (!isa_dev) + isa_dev = pci_find_device(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1563, NULL); + #if defined(DISPLAY_ALI_TIMINGS) && defined(CONFIG_PROC_FS) if (!ali_proc) { ali_proc = 1;