diff options
author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2006-03-23 15:38:34 +0000 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-03-24 09:52:32 -0500 |
commit | ebdfca6eb1b755d3bfe9a81339ecdafd92038c1a (patch) | |
tree | 1780c1d10756c1f6c3cd34ac2f23faa729d9877d | |
parent | 082776e4be791736c32baf818e50f501a7f83819 (diff) | |
download | op-kernel-dev-ebdfca6eb1b755d3bfe9a81339ecdafd92038c1a.zip op-kernel-dev-ebdfca6eb1b755d3bfe9a81339ecdafd92038c1a.tar.gz |
[PATCH] libata: add ata_dev_pair helper
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r-- | drivers/scsi/libata-core.c | 17 | ||||
-rw-r--r-- | include/linux/libata.h | 2 |
2 files changed, 19 insertions, 0 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index d8f77f2..909568f 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c @@ -1576,6 +1576,23 @@ void sata_phy_reset(struct ata_port *ap) } /** + * ata_dev_pair - return other device on cable + * @ap: port + * @adev: device + * + * Obtain the other device on the same cable, or if none is + * present NULL is returned + */ + +struct ata_device *ata_dev_pair(struct ata_port *ap, struct ata_device *adev) +{ + struct ata_device *pair = &ap->device[1 - adev->devno]; + if (!ata_dev_present(pair)) + return NULL; + return pair; +} + +/** * ata_port_disable - Disable port. * @ap: Port to be disabled. * diff --git a/include/linux/libata.h b/include/linux/libata.h index c52f134..80c2339 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h @@ -573,6 +573,8 @@ extern int ata_std_bios_param(struct scsi_device *sdev, struct block_device *bdev, sector_t capacity, int geom[]); extern int ata_scsi_slave_config(struct scsi_device *sdev); +extern struct ata_device *ata_dev_pair(struct ata_port *ap, + struct ata_device *adev); /* * Timing helpers |