[PATCH] libata: rework legacy handling to remove much of the cruft
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Thu, 10 Aug 2006 07:59:10 +0000 (16:59 +0900)
committerTejun Heo <htejun@gmail.com>
Thu, 10 Aug 2006 07:59:10 +0000 (16:59 +0900)
commit2ec7df0457b710d9201f211dbccdbecf0ad38b7e
tree4fbffc3e05aa65fd9ed63b4ac809712719e19cda
parent37deecb5139ee431233781a9a093d9fcaab54c5b
[PATCH] libata: rework legacy handling to remove much of the cruft

Kill host_set->next
Fix simplex support
Allow per platform setting of IDE legacy bases

Some of this can be tidied further later on, in particular all the
legacy port gunge belongs as a PCI quirk/PCI header decode to understand
the special legacy IDE rules in the PCI spec.

Longer term Jeff also wants to move the request_irq/free_irq out of core
which will make this even cleaner.

tj: folded in three followup patches - ata_piix-fix, broken-arch-fix
and fix-new-legacy-handling, and separated per-dev xfermask into
separate patch preceding this one.  Folded in fixes are...

* ata_piix-fix: fix build failure due to host_set->next removal
* broken-arch-fix: add missing include/asm-*/libata-portmap.h
* fix-new-legacy-handling:
* In ata_pci_init_legacy_port(), probe_num was incorrectly
          incremented during initialization of the secondary port and
          probe_ent->n_ports was incorrectly fixed to 1.

* Both legacy ports ended up having the same hard_port_no.

* When printing port information, both legacy ports printed
  the first irq.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Tejun Heo <htejun@gmail.com>
12 files changed:
drivers/scsi/ata_piix.c
drivers/scsi/libata-bmdma.c
drivers/scsi/libata-core.c
include/asm-alpha/libata-portmap.h [new file with mode: 0644]
include/asm-generic/libata-portmap.h [new file with mode: 0644]
include/asm-i386/libata-portmap.h [new file with mode: 0644]
include/asm-ia64/libata-portmap.h [new file with mode: 0644]
include/asm-powerpc/libata-portmap.h [new file with mode: 0644]
include/asm-sparc/libata-portmap.h [new file with mode: 0644]
include/asm-sparc64/libata-portmap.h [new file with mode: 0644]
include/asm-x86_64/libata-portmap.h [new file with mode: 0644]
include/linux/libata.h