diff options
Diffstat (limited to 'drivers/ide/arm/icside.c')
-rw-r--r-- | drivers/ide/arm/icside.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/ide/arm/icside.c b/drivers/ide/arm/icside.c index 7d642f44e35b..124445c20921 100644 --- a/drivers/ide/arm/icside.c +++ b/drivers/ide/arm/icside.c | |||
@@ -426,11 +426,12 @@ icside_setup(void __iomem *base, struct cardinfo *info, struct expansion_card *e | |||
426 | */ | 426 | */ |
427 | default_hwif_mmiops(hwif); | 427 | default_hwif_mmiops(hwif); |
428 | 428 | ||
429 | for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) { | 429 | for (i = 0; i <= 7; i++) { |
430 | hwif->io_ports[i] = port; | 430 | hwif->io_ports_array[i] = port; |
431 | port += 1 << info->stepping; | 431 | port += 1 << info->stepping; |
432 | } | 432 | } |
433 | hwif->io_ports[IDE_CONTROL_OFFSET] = (unsigned long)base + info->ctrloffset; | 433 | hwif->io_ports.ctl_addr = |
434 | (unsigned long)base + info->ctrloffset; | ||
434 | hwif->irq = ec->irq; | 435 | hwif->irq = ec->irq; |
435 | hwif->chipset = ide_acorn; | 436 | hwif->chipset = ide_acorn; |
436 | hwif->gendev.parent = &ec->dev; | 437 | hwif->gendev.parent = &ec->dev; |
@@ -480,8 +481,7 @@ static const struct ide_port_info icside_v6_port_info __initdata = { | |||
480 | .init_dma = icside_dma_off_init, | 481 | .init_dma = icside_dma_off_init, |
481 | .port_ops = &icside_v6_no_dma_port_ops, | 482 | .port_ops = &icside_v6_no_dma_port_ops, |
482 | .dma_ops = &icside_v6_dma_ops, | 483 | .dma_ops = &icside_v6_dma_ops, |
483 | .host_flags = IDE_HFLAG_SERIALIZE | | 484 | .host_flags = IDE_HFLAG_SERIALIZE, |
484 | IDE_HFLAG_NO_AUTOTUNE, | ||
485 | .mwdma_mask = ATA_MWDMA2, | 485 | .mwdma_mask = ATA_MWDMA2, |
486 | .swdma_mask = ATA_SWDMA2, | 486 | .swdma_mask = ATA_SWDMA2, |
487 | }; | 487 | }; |
@@ -547,14 +547,13 @@ icside_register_v6(struct icside_state *state, struct expansion_card *ec) | |||
547 | hwif->config_data = (unsigned long)ioc_base; | 547 | hwif->config_data = (unsigned long)ioc_base; |
548 | hwif->select_data = sel; | 548 | hwif->select_data = sel; |
549 | 549 | ||
550 | mate->maskproc = icside_maskproc; | ||
551 | mate->hwif_data = state; | 550 | mate->hwif_data = state; |
552 | mate->config_data = (unsigned long)ioc_base; | 551 | mate->config_data = (unsigned long)ioc_base; |
553 | mate->select_data = sel | 1; | 552 | mate->select_data = sel | 1; |
554 | 553 | ||
555 | if (ec->dma != NO_DMA && !request_dma(ec->dma, hwif->name)) { | 554 | if (ec->dma != NO_DMA && !request_dma(ec->dma, hwif->name)) { |
556 | d.init_dma = icside_dma_init; | 555 | d.init_dma = icside_dma_init; |
557 | d.port_ops = &icside_v6_dma_port_ops; | 556 | d.port_ops = &icside_v6_port_ops; |
558 | d.dma_ops = NULL; | 557 | d.dma_ops = NULL; |
559 | } | 558 | } |
560 | 559 | ||