]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/ide/pci/pdc202xx_new.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial
[linux-2.6-omap-h63xx.git] / drivers / ide / pci / pdc202xx_new.c
index 8bce030550d7b6d2c3fc652c8d89186d7027812e..4234efeba606750d9b4d7e4cc5ad95aaea57faba 100644 (file)
@@ -471,10 +471,6 @@ static void __devinit init_hwif_pdc202new(ide_hwif_t *hwif)
        hwif->quirkproc = &pdcnew_quirkproc;
        hwif->resetproc = &pdcnew_reset;
 
-       hwif->err_stops_fifo = 1;
-
-       hwif->drives[0].autotune = hwif->drives[1].autotune = 1;
-
        if (hwif->dma_base == 0)
                return;
 
@@ -504,64 +500,27 @@ static struct pci_dev * __devinit pdc20270_get_dev2(struct pci_dev *dev)
        return NULL;
 }
 
-static ide_pci_device_t pdcnew_chipsets[] __devinitdata = {
-       {       /* 0 */
-               .name           = "PDC20268",
-               .init_chipset   = init_chipset_pdcnew,
-               .init_hwif      = init_hwif_pdc202new,
-               .host_flags     = IDE_HFLAG_POST_SET_MODE | IDE_HFLAG_OFF_BOARD,
-               .pio_mask       = ATA_PIO4,
-               .mwdma_mask     = ATA_MWDMA2,
-               .udma_mask      = ATA_UDMA5,
-       },{     /* 1 */
-               .name           = "PDC20269",
-               .init_chipset   = init_chipset_pdcnew,
-               .init_hwif      = init_hwif_pdc202new,
-               .host_flags     = IDE_HFLAG_POST_SET_MODE | IDE_HFLAG_OFF_BOARD,
-               .pio_mask       = ATA_PIO4,
-               .mwdma_mask     = ATA_MWDMA2,
-               .udma_mask      = ATA_UDMA6,
-       },{     /* 2 */
-               .name           = "PDC20270",
-               .init_chipset   = init_chipset_pdcnew,
-               .init_hwif      = init_hwif_pdc202new,
-               .host_flags     = IDE_HFLAG_POST_SET_MODE | IDE_HFLAG_OFF_BOARD,
-               .pio_mask       = ATA_PIO4,
-               .mwdma_mask     = ATA_MWDMA2,
-               .udma_mask      = ATA_UDMA5,
-       },{     /* 3 */
-               .name           = "PDC20271",
-               .init_chipset   = init_chipset_pdcnew,
-               .init_hwif      = init_hwif_pdc202new,
-               .host_flags     = IDE_HFLAG_POST_SET_MODE | IDE_HFLAG_OFF_BOARD,
-               .pio_mask       = ATA_PIO4,
-               .mwdma_mask     = ATA_MWDMA2,
-               .udma_mask      = ATA_UDMA6,
-       },{     /* 4 */
-               .name           = "PDC20275",
-               .init_chipset   = init_chipset_pdcnew,
-               .init_hwif      = init_hwif_pdc202new,
-               .host_flags     = IDE_HFLAG_POST_SET_MODE | IDE_HFLAG_OFF_BOARD,
-               .pio_mask       = ATA_PIO4,
-               .mwdma_mask     = ATA_MWDMA2,
-               .udma_mask      = ATA_UDMA6,
-       },{     /* 5 */
-               .name           = "PDC20276",
-               .init_chipset   = init_chipset_pdcnew,
-               .init_hwif      = init_hwif_pdc202new,
-               .host_flags     = IDE_HFLAG_POST_SET_MODE | IDE_HFLAG_OFF_BOARD,
-               .pio_mask       = ATA_PIO4,
-               .mwdma_mask     = ATA_MWDMA2,
-               .udma_mask      = ATA_UDMA6,
-       },{     /* 6 */
-               .name           = "PDC20277",
-               .init_chipset   = init_chipset_pdcnew,
-               .init_hwif      = init_hwif_pdc202new,
-               .host_flags     = IDE_HFLAG_POST_SET_MODE | IDE_HFLAG_OFF_BOARD,
-               .pio_mask       = ATA_PIO4,
-               .mwdma_mask     = ATA_MWDMA2,
-               .udma_mask      = ATA_UDMA6,
+#define DECLARE_PDCNEW_DEV(name_str, udma) \
+       { \
+               .name           = name_str, \
+               .init_chipset   = init_chipset_pdcnew, \
+               .init_hwif      = init_hwif_pdc202new, \
+               .host_flags     = IDE_HFLAG_POST_SET_MODE | \
+                                 IDE_HFLAG_ERROR_STOPS_FIFO | \
+                                 IDE_HFLAG_OFF_BOARD, \
+               .pio_mask       = ATA_PIO4, \
+               .mwdma_mask     = ATA_MWDMA2, \
+               .udma_mask      = udma, \
        }
+
+static const struct ide_port_info pdcnew_chipsets[] __devinitdata = {
+       /* 0 */ DECLARE_PDCNEW_DEV("PDC20268", ATA_UDMA5),
+       /* 1 */ DECLARE_PDCNEW_DEV("PDC20269", ATA_UDMA6),
+       /* 2 */ DECLARE_PDCNEW_DEV("PDC20270", ATA_UDMA5),
+       /* 3 */ DECLARE_PDCNEW_DEV("PDC20271", ATA_UDMA6),
+       /* 4 */ DECLARE_PDCNEW_DEV("PDC20275", ATA_UDMA6),
+       /* 5 */ DECLARE_PDCNEW_DEV("PDC20276", ATA_UDMA6),
+       /* 6 */ DECLARE_PDCNEW_DEV("PDC20277", ATA_UDMA6),
 };
 
 /**
@@ -575,7 +534,7 @@ static ide_pci_device_t pdcnew_chipsets[] __devinitdata = {
  
 static int __devinit pdc202new_init_one(struct pci_dev *dev, const struct pci_device_id *id)
 {
-       ide_pci_device_t *d;
+       const struct ide_port_info *d;
        struct pci_dev *bridge = dev->bus->self;
        u8 idx = id->driver_data;