diff options
Diffstat (limited to 'drivers/ide')
-rw-r--r-- | drivers/ide/arm/icside.c | 14 |
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; |