[PATCH] libata: implement dummy port
authorTejun Heo <htejun@gmail.com>
Thu, 10 Aug 2006 07:59:12 +0000 (16:59 +0900)
committerTejun Heo <htejun@gmail.com>
Thu, 10 Aug 2006 07:59:12 +0000 (16:59 +0900)
commitdd5b06c490de72440ec39f814de99a714a45a1a9
tree7a4665f9b6fdb5a264c753b90a215e2953e2d0f7
parent2ec7df0457b710d9201f211dbccdbecf0ad38b7e
[PATCH] libata: implement dummy port

Implement dummy port which can be requested by setting appropriate bit
in probe_ent->dummy_port_mask.  The dummy port is used as placeholder
for stolen legacy port.  This allows libata to guarantee that
index_of(ap) == ap->port_no == actual_device_port_no, and thus to
remove error-prone ap->hard_port_no.

As it's used only when one port of a legacy controller is reserved by
some other entity (e.g. IDE), the focus is on keeping the added *code*
complexity at minimum, so dummy port allocates all libata core
resources and acts as a normal port.  It just has all dummy port_ops.

This patch only implements dummy port.  The following patch will make
libata use it for stolen legacy ports.

Signed-off-by: Tejun Heo <htejun@gmail.com>
drivers/scsi/libata-core.c
include/linux/libata.h