Re: [PATCH] restore libata build on frv

Al Viro
2006-09-25T16:21:30Z

On Mon, Sep 25, 2006 at 05:04:10PM +0100, David Howells wrote:
> Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
>
> > Ack Al Viro's changes but with IRQ set to zero.
>
> The PCI bus has special mappings. You may not address it with those numbers.
> Any of those numbers. Al's patch is 100% incorrect. Sorry.

Oh, for fuck sake... 2.6.18 drivers/scsi/libata-core.c:

if ((ap->flags & ATA_FLAG_NO_LEGACY) == 0) {
struct ata_ioports *ioaddr = &ap->ioaddr;

if (ioaddr->cmd_addr == 0x1f0)
release_region(0x1f0, 8);
else if (ioaddr->cmd_addr == 0x170)
release_region(0x170, 8);
}

current drivers/ata/libata-core.c:
if ((ap->flags & ATA_FLAG_NO_LEGACY) == 0) {
struct ata_ioports *ioaddr = &ap->ioaddr;

/* FIXME: Add -ac IDE pci mods to remove these special cases */
if (ioaddr->cmd_addr == ATA_PRIMARY_CMD)
release_region(ATA_PRIMARY_CMD, 8);
else if (ioaddr->cmd_addr == ATA_SECONDARY_CMD)
release_region(ATA_SECONDARY_CMD, 8);
}

Patch in question restores the situation prior to libata merge. That's
what FRV had been doing all along if SATA had been enabled. No more,
mo less.

Now, if you want to change that behaviour, more power to you. But that's
a separate patch, obviously, and all issues related to that exist in vanilla
2.6.18 just as in the current tree.