vserver 1.9.5.x5
[linux-2.6.git] / drivers / ide / pci / opti621.c
index ab76641..cf4fd91 100644 (file)
 
 #include <asm/io.h>
 
-#include "opti621.h"
-
 #define OPTI621_MAX_PIO 3
 /* In fact, I do not have any PIO 4 drive
  * (address: 25 ns, data: 70 ns, recovery: 35 ns),
@@ -348,15 +346,27 @@ static void __init init_hwif_opti621 (ide_hwif_t *hwif)
        hwif->drives[1].autodma = hwif->autodma;
 }
 
-static void __init init_setup_opti621 (struct pci_dev *dev, ide_pci_device_t *d)
-{
-       ide_setup_pci_device(dev, d);
-}
+static ide_pci_device_t opti621_chipsets[] __devinitdata = {
+       {       /* 0 */
+               .name           = "OPTI621",
+               .init_hwif      = init_hwif_opti621,
+               .channels       = 2,
+               .autodma        = AUTODMA,
+               .enablebits     = {{0x45,0x80,0x00}, {0x40,0x08,0x00}},
+               .bootable       = ON_BOARD,
+       },{     /* 1 */
+               .name           = "OPTI621X",
+               .init_hwif      = init_hwif_opti621,
+               .channels       = 2,
+               .autodma        = AUTODMA,
+               .enablebits     = {{0x45,0x80,0x00}, {0x40,0x08,0x00}},
+               .bootable       = ON_BOARD,
+       }
+};
 
 static int __devinit opti621_init_one(struct pci_dev *dev, const struct pci_device_id *id)
 {
-       ide_setup_pci_device(dev, &opti621_chipsets[id->driver_data]);
-       return 0;
+       return ide_setup_pci_device(dev, &opti621_chipsets[id->driver_data]);
 }
 
 static struct pci_device_id opti621_pci_tbl[] = {