If I had to guess, I would try the attached patch. The via82cxxx.c driver is a bit annoying in that, here we do not talk to the ISA bridge but to the PCI device 0x4149 itself.

If this doesn't work, I could probably whip together a quick PATA driver for libata that works on this hardware.

        Jeff


===== drivers/ide/pci/via82cxxx.c 1.27 vs edited =====
--- 1.27/drivers/ide/pci/via82cxxx.c    2005-02-03 02:24:29 -05:00
+++ edited/drivers/ide/pci/via82cxxx.c  2005-03-02 01:28:26 -05:00
@@ -79,6 +79,7 @@
        u8 rev_max;
        u16 flags;
 } via_isa_bridges[] = {
+       { "vt6420",     0x4149,                     0x00, 0x2f, VIA_UDMA_133 | 
VIA_BAD_AST },
        { "vt8237",     PCI_DEVICE_ID_VIA_8237,     0x00, 0x2f, VIA_UDMA_133 | 
VIA_BAD_AST },
        { "vt8235",     PCI_DEVICE_ID_VIA_8235,     0x00, 0x2f, VIA_UDMA_133 | 
VIA_BAD_AST },
        { "vt8233a",    PCI_DEVICE_ID_VIA_8233A,    0x00, 0x2f, VIA_UDMA_133 | 
VIA_BAD_AST },
@@ -635,9 +636,10 @@
 }
 
 static struct pci_device_id via_pci_tbl[] = {
-       { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C576_1, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
-       { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
-       { 0, },
+       { PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C576_1) },
+       { PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1) },
+       { PCI_DEVICE(PCI_VENDOR_ID_VIA, 0x4149) },
+       { },    /* terminate list */
 };
 MODULE_DEVICE_TABLE(pci, via_pci_tbl);
 

Reply via email to