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 e3ea2096804..d4d1a6bea59 100644 --- a/drivers/ide/legacy/ali14xx.c +++ b/drivers/ide/legacy/ali14xx.c @@ -191,9 +191,14 @@ static int __init initRegisters (void) { return t; } +static const struct ide_port_info ali14xx_port_info = { + .chipset = ide_ali14xx, + .host_flags = IDE_HFLAG_NO_DMA | IDE_HFLAG_NO_AUTOTUNE, + .pio_mask = ATA_PIO4, +}; + static int __init ali14xx_probe(void) { - ide_hwif_t *hwif, *mate; static u8 idx[4] = { 0, 1, 0xff, 0xff }; printk(KERN_DEBUG "ali14xx: base=0x%03x, regOn=0x%02x.\n", @@ -205,21 +210,10 @@ static int __init ali14xx_probe(void) return 1; } - hwif = &ide_hwifs[0]; - mate = &ide_hwifs[1]; - - hwif->chipset = ide_ali14xx; - hwif->pio_mask = ATA_PIO4; - hwif->set_pio_mode = &ali14xx_set_pio_mode; - hwif->mate = mate; - - mate->chipset = ide_ali14xx; - mate->pio_mask = ATA_PIO4; - mate->set_pio_mode = &ali14xx_set_pio_mode; - mate->mate = hwif; - mate->channel = 1; + ide_hwifs[0].set_pio_mode = &ali14xx_set_pio_mode; + ide_hwifs[1].set_pio_mode = &ali14xx_set_pio_mode; - ide_device_add(idx); + ide_device_add(idx, &ali14xx_port_info); return 0; } |