vserver 1.9.3
[linux-2.6.git] / drivers / ide / pci / sc1200.c
index 29a263a..4cd5d01 100644 (file)
@@ -29,8 +29,6 @@
 #include <asm/io.h>
 #include <asm/irq.h>
 
-#include "sc1200.h"
-
 #define SC1200_REV_A   0x00
 #define SC1200_REV_B1  0x01
 #define SC1200_REV_B3  0x02
@@ -545,12 +543,18 @@ static void __init init_hwif_sc1200 (ide_hwif_t *hwif)
         hwif->drives[1].autodma = hwif->autodma;
 }
 
+static ide_pci_device_t sc1200_chipset __devinitdata = {
+       .name           = "SC1200",
+       .init_chipset   = init_chipset_sc1200,
+       .init_hwif      = init_hwif_sc1200,
+       .channels       = 2,
+       .autodma        = AUTODMA,
+       .bootable       = ON_BOARD,
+};
+
 static int __devinit sc1200_init_one(struct pci_dev *dev, const struct pci_device_id *id)
 {
-       ide_pci_device_t *d = &sc1200_chipsets[id->driver_data];
-       if (dev->device != d->device)
-               BUG();
-       ide_setup_pci_device(dev, d);
+       ide_setup_pci_device(dev, &sc1200_chipset);
        return 0;
 }
 
@@ -561,7 +565,7 @@ static struct pci_device_id sc1200_pci_tbl[] = {
 MODULE_DEVICE_TABLE(pci, sc1200_pci_tbl);
 
 static struct pci_driver driver = {
-       .name           = "SC1200 IDE",
+       .name           = "SC1200_IDE",
        .id_table       = sc1200_pci_tbl,
        .probe          = sc1200_init_one,
        .suspend        = sc1200_suspend,