libata: bitmask based pci init functions for one or two ports
commit47a8659380d40d5c0786ddb62a89b3f7f1392430
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Tue, 4 Oct 2005 12:09:19 +0000 (4 08:09 -0400)
committerJeff Garzik <jgarzik@pobox.com>
Tue, 4 Oct 2005 12:09:19 +0000 (4 08:09 -0400)
tree696e7f9874e6087e6aaec51fbe1d4a91cd3dfc64
parentfe998aa7e27f125f6768ec6b137b0ce2c9790509
libata: bitmask based pci init functions for one or two ports

This redoes the n_ports logic I proposed before as a bitmask.
ata_pci_init_native_mode is now used with a mask allowing for mixed mode
stuff later on. ata_pci_init_legacy_port is called with port number and
does one port now not two. Instead it is called twice by the ata init
logic which cleans both of them up.

There are stil limits in the original code left over

- IRQ/port mapping for legacy mode should be arch specific values
- You can have one legacy mode IDE adapter per PCI root bridge on some systems
- Doesn't handle mixed mode devices yet (but is now a lot closer to it)
drivers/scsi/libata-core.c
drivers/scsi/sata_nv.c
drivers/scsi/sata_sis.c
drivers/scsi/sata_uli.c
drivers/scsi/sata_via.c
include/linux/libata.h