diff options
Diffstat (limited to 'drivers/ide/legacy/dtc2278.c')
-rw-r--r-- | drivers/ide/legacy/dtc2278.c | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/drivers/ide/legacy/dtc2278.c b/drivers/ide/legacy/dtc2278.c index 092c04abbe7a..7cbf2f1f35f9 100644 --- a/drivers/ide/legacy/dtc2278.c +++ b/drivers/ide/legacy/dtc2278.c | |||
@@ -86,6 +86,15 @@ static void dtc2278_set_pio_mode(ide_drive_t *drive, const u8 pio) | |||
86 | } | 86 | } |
87 | } | 87 | } |
88 | 88 | ||
89 | static const struct ide_port_info dtc2278_port_info __initdata = { | ||
90 | .chipset = ide_dtc2278, | ||
91 | .host_flags = IDE_HFLAG_SERIALIZE | | ||
92 | IDE_HFLAG_IO_32BIT | | ||
93 | IDE_HFLAG_NO_DMA | | ||
94 | IDE_HFLAG_NO_AUTOTUNE, | ||
95 | .pio_mask = ATA_PIO4, | ||
96 | }; | ||
97 | |||
89 | static int __init dtc2278_probe(void) | 98 | static int __init dtc2278_probe(void) |
90 | { | 99 | { |
91 | unsigned long flags; | 100 | unsigned long flags; |
@@ -116,29 +125,16 @@ static int __init dtc2278_probe(void) | |||
116 | #endif | 125 | #endif |
117 | local_irq_restore(flags); | 126 | local_irq_restore(flags); |
118 | 127 | ||
119 | hwif->serialized = 1; | ||
120 | hwif->no_io_32bit = 1; /* disallow ->io_32bit changes */ | 128 | hwif->no_io_32bit = 1; /* disallow ->io_32bit changes */ |
121 | hwif->chipset = ide_dtc2278; | ||
122 | hwif->pio_mask = ATA_PIO4; | ||
123 | hwif->set_pio_mode = &dtc2278_set_pio_mode; | 129 | hwif->set_pio_mode = &dtc2278_set_pio_mode; |
124 | hwif->drives[0].no_unmask = 1; | 130 | hwif->drives[0].no_unmask = 1; |
125 | hwif->drives[1].no_unmask = 1; | 131 | hwif->drives[1].no_unmask = 1; |
126 | hwif->drives[0].io_32bit = 1; | ||
127 | hwif->drives[1].io_32bit = 1; | ||
128 | hwif->mate = mate; | ||
129 | 132 | ||
130 | mate->serialized = 1; | ||
131 | mate->no_io_32bit = 1; | 133 | mate->no_io_32bit = 1; |
132 | mate->chipset = ide_dtc2278; | ||
133 | mate->pio_mask = ATA_PIO4; | ||
134 | mate->drives[0].no_unmask = 1; | 134 | mate->drives[0].no_unmask = 1; |
135 | mate->drives[1].no_unmask = 1; | 135 | mate->drives[1].no_unmask = 1; |
136 | mate->drives[0].io_32bit = 1; | ||
137 | mate->drives[1].io_32bit = 1; | ||
138 | mate->mate = hwif; | ||
139 | mate->channel = 1; | ||
140 | 136 | ||
141 | ide_device_add(idx); | 137 | ide_device_add(idx, &dtc2278_port_info); |
142 | 138 | ||
143 | return 0; | 139 | return 0; |
144 | } | 140 | } |