aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide')
-rw-r--r--drivers/ide/arm/icside.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/ide/arm/icside.c b/drivers/ide/arm/icside.c
index 124445c20921..65038ca35e10 100644
--- a/drivers/ide/arm/icside.c
+++ b/drivers/ide/arm/icside.c
@@ -419,17 +419,19 @@ icside_setup(void __iomem *base, struct cardinfo *info, struct expansion_card *e
419 419
420 hwif = ide_find_port(); 420 hwif = ide_find_port();
421 if (hwif) { 421 if (hwif) {
422 int i;
423
424 /* 422 /*
425 * Ensure we're using MMIO 423 * Ensure we're using MMIO
426 */ 424 */
427 default_hwif_mmiops(hwif); 425 default_hwif_mmiops(hwif);
428 426
429 for (i = 0; i <= 7; i++) { 427 hwif->io_ports.data_addr = port;
430 hwif->io_ports_array[i] = port; 428 hwif->io_ports.error_addr = port + (1 << info->stepping);
431 port += 1 << info->stepping; 429 hwif->io_ports.nsect_addr = port + (2 << info->stepping);
432 } 430 hwif->io_ports.lbal_addr = port + (3 << info->stepping);
431 hwif->io_ports.lbam_addr = port + (4 << info->stepping);
432 hwif->io_ports.lbah_addr = port + (5 << info->stepping);
433 hwif->io_ports.device_addr = port + (6 << info->stepping);
434 hwif->io_ports.status_addr = port + (7 << info->stepping);
433 hwif->io_ports.ctl_addr = 435 hwif->io_ports.ctl_addr =
434 (unsigned long)base + info->ctrloffset; 436 (unsigned long)base + info->ctrloffset;
435 hwif->irq = ec->irq; 437 hwif->irq = ec->irq;