diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-01-25 16:17:07 -0500 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-01-25 16:17:07 -0500 |
commit | d26805fd025abe1ab8785b23a7942cfb6ceffd75 (patch) | |
tree | 8073aed22acd6865c4bf4c6a6e5a016295c6998a /drivers | |
parent | 74095a91ed02f6727b62d4416be00a041f2d7436 (diff) |
ide-pmac: fix pmac_ide_init_hwif_ports()
* pmac_ide_init_hwif_ports() can be called by ide_init_hwif_ports()
(through ppc_ide_md.ide_init_hwif hook) for non IDE PMAC interfaces.
If this is the case the hw->io_ports[] should be already setup by
ide_init_hwif_ports()->ide_std_init_ports() so remove redundant code
from pmac_ide_init_hwif_ports().
As side-effect this change fixes ctl_addr == 0 special handling in
ide_init_hwif_ports().
* Fix misleading comment while at it.
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ide/ppc/pmac.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c index 7f7a59885777..4559e29446e9 100644 --- a/drivers/ide/ppc/pmac.c +++ b/drivers/ide/ppc/pmac.c | |||
@@ -438,13 +438,8 @@ pmac_ide_init_hwif_ports(hw_regs_t *hw, | |||
438 | if (data_port == pmac_ide[ix].regbase) | 438 | if (data_port == pmac_ide[ix].regbase) |
439 | break; | 439 | break; |
440 | 440 | ||
441 | if (ix >= MAX_HWIFS) { | 441 | if (ix >= MAX_HWIFS) |
442 | /* Probably a PCI interface... */ | 442 | return; /* not an IDE PMAC interface */ |
443 | for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; ++i) | ||
444 | hw->io_ports[i] = data_port + i - IDE_DATA_OFFSET; | ||
445 | hw->io_ports[IDE_CONTROL_OFFSET] = ctrl_port; | ||
446 | return; | ||
447 | } | ||
448 | 443 | ||
449 | for (i = 0; i < 8; ++i) | 444 | for (i = 0; i < 8; ++i) |
450 | hw->io_ports[i] = data_port + i * 0x10; | 445 | hw->io_ports[i] = data_port + i * 0x10; |