diff options
Diffstat (limited to 'drivers/ide/legacy/ali14xx.c')
-rw-r--r-- | drivers/ide/legacy/ali14xx.c | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/drivers/ide/legacy/ali14xx.c b/drivers/ide/legacy/ali14xx.c index e3ea2096804a..d4d1a6bea599 100644 --- a/drivers/ide/legacy/ali14xx.c +++ b/drivers/ide/legacy/ali14xx.c | |||
@@ -191,9 +191,14 @@ static int __init initRegisters (void) { | |||
191 | return t; | 191 | return t; |
192 | } | 192 | } |
193 | 193 | ||
194 | static const struct ide_port_info ali14xx_port_info = { | ||
195 | .chipset = ide_ali14xx, | ||
196 | .host_flags = IDE_HFLAG_NO_DMA | IDE_HFLAG_NO_AUTOTUNE, | ||
197 | .pio_mask = ATA_PIO4, | ||
198 | }; | ||
199 | |||
194 | static int __init ali14xx_probe(void) | 200 | static int __init ali14xx_probe(void) |
195 | { | 201 | { |
196 | ide_hwif_t *hwif, *mate; | ||
197 | static u8 idx[4] = { 0, 1, 0xff, 0xff }; | 202 | static u8 idx[4] = { 0, 1, 0xff, 0xff }; |
198 | 203 | ||
199 | printk(KERN_DEBUG "ali14xx: base=0x%03x, regOn=0x%02x.\n", | 204 | printk(KERN_DEBUG "ali14xx: base=0x%03x, regOn=0x%02x.\n", |
@@ -205,21 +210,10 @@ static int __init ali14xx_probe(void) | |||
205 | return 1; | 210 | return 1; |
206 | } | 211 | } |
207 | 212 | ||
208 | hwif = &ide_hwifs[0]; | 213 | ide_hwifs[0].set_pio_mode = &ali14xx_set_pio_mode; |
209 | mate = &ide_hwifs[1]; | 214 | ide_hwifs[1].set_pio_mode = &ali14xx_set_pio_mode; |
210 | |||
211 | hwif->chipset = ide_ali14xx; | ||
212 | hwif->pio_mask = ATA_PIO4; | ||
213 | hwif->set_pio_mode = &ali14xx_set_pio_mode; | ||
214 | hwif->mate = mate; | ||
215 | |||
216 | mate->chipset = ide_ali14xx; | ||
217 | mate->pio_mask = ATA_PIO4; | ||
218 | mate->set_pio_mode = &ali14xx_set_pio_mode; | ||
219 | mate->mate = hwif; | ||
220 | mate->channel = 1; | ||
221 | 215 | ||
222 | ide_device_add(idx); | 216 | ide_device_add(idx, &ali14xx_port_info); |
223 | 217 | ||
224 | return 0; | 218 | return 0; |
225 | } | 219 | } |