1 |
diff -Naru a/drivers/ide/pci/via82cxxx.c b/drivers/ide/pci/via82cxxx.c |
2 |
--- a/drivers/ide/pci/via82cxxx.c 2005-05-06 11:22:48 -07:00 |
3 |
+++ b/drivers/ide/pci/via82cxxx.c 2005-05-06 11:22:48 -07:00 |
4 |
@@ -79,6 +79,7 @@ |
5 |
u8 rev_max; |
6 |
u16 flags; |
7 |
} via_isa_bridges[] = { |
8 |
+ { "vt6410", PCI_DEVICE_ID_VIA_6410, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, |
9 |
{ "vt8237", PCI_DEVICE_ID_VIA_8237, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, |
10 |
{ "vt8235", PCI_DEVICE_ID_VIA_8235, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, |
11 |
{ "vt8233a", PCI_DEVICE_ID_VIA_8233A, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, |
12 |
@@ -616,24 +617,35 @@ |
13 |
hwif->drives[1].autodma = hwif->autodma; |
14 |
} |
15 |
|
16 |
-static ide_pci_device_t via82cxxx_chipset __devinitdata = { |
17 |
- .name = "VP_IDE", |
18 |
- .init_chipset = init_chipset_via82cxxx, |
19 |
- .init_hwif = init_hwif_via82cxxx, |
20 |
- .channels = 2, |
21 |
- .autodma = NOAUTODMA, |
22 |
- .enablebits = {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, |
23 |
- .bootable = ON_BOARD, |
24 |
+static ide_pci_device_t via82cxxx_chipsets[] __devinitdata = { |
25 |
+ { /* 0 */ |
26 |
+ .name = "VP_IDE", |
27 |
+ .init_chipset = init_chipset_via82cxxx, |
28 |
+ .init_hwif = init_hwif_via82cxxx, |
29 |
+ .channels = 2, |
30 |
+ .autodma = NOAUTODMA, |
31 |
+ .enablebits = {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, |
32 |
+ .bootable = ON_BOARD |
33 |
+ },{ /* 1 */ |
34 |
+ .name = "VP_IDE", |
35 |
+ .init_chipset = init_chipset_via82cxxx, |
36 |
+ .init_hwif = init_hwif_via82cxxx, |
37 |
+ .channels = 2, |
38 |
+ .autodma = AUTODMA, |
39 |
+ .enablebits = {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, |
40 |
+ .bootable = ON_BOARD, |
41 |
+ } |
42 |
}; |
43 |
|
44 |
static int __devinit via_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
45 |
{ |
46 |
- return ide_setup_pci_device(dev, &via82cxxx_chipset); |
47 |
+ return ide_setup_pci_device(dev, &via82cxxx_chipsets[id->driver_data]); |
48 |
} |
49 |
|
50 |
static struct pci_device_id via_pci_tbl[] = { |
51 |
{ PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C576_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
52 |
{ PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
53 |
+ { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_6410, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, |
54 |
{ 0, }, |
55 |
}; |
56 |
MODULE_DEVICE_TABLE(pci, via_pci_tbl); |
57 |
diff -Naru a/include/linux/pci_ids.h b/include/linux/pci_ids.h |
58 |
--- a/include/linux/pci_ids.h 2005-05-06 11:22:48 -07:00 |
59 |
+++ b/include/linux/pci_ids.h 2005-05-06 11:22:48 -07:00 |
60 |
@@ -1280,6 +1280,7 @@ |
61 |
#define PCI_DEVICE_ID_VIA_8703_51_0 0x3148 |
62 |
#define PCI_DEVICE_ID_VIA_8237_SATA 0x3149 |
63 |
#define PCI_DEVICE_ID_VIA_XN266 0x3156 |
64 |
+#define PCI_DEVICE_ID_VIA_6410 0x3164 |
65 |
#define PCI_DEVICE_ID_VIA_8754C_0 0x3168 |
66 |
#define PCI_DEVICE_ID_VIA_8235 0x3177 |
67 |
#define PCI_DEVICE_ID_VIA_P4N333 0x3178 |
68 |
# This is a BitKeeper generated diff -Nru style patch. |
69 |
# |
70 |
# ChangeSet |
71 |
# 2005/02/11 19:31:17+01:00 bzolnier@trik.(none) |
72 |
# [ide via82cxxx] add VIA VT6410 support |
73 |
# |
74 |
# From: Mathias Kretschmer <posting@blx4.net> |
75 |
# |
76 |
# drivers/ide/pci/via82cxxx.c |
77 |
# 2005/02/11 19:31:06+01:00 bzolnier@trik.(none) +21 -9 |
78 |
# [ide via82cxxx] add VIA VT6410 support |
79 |
# |
80 |
# include/linux/pci_ids.h |
81 |
# 2005/02/11 19:31:06+01:00 bzolnier@trik.(none) +1 -0 |
82 |
# [ide via82cxxx] add VIA VT6410 support |
83 |
# |