[PATCH] libata: add ata_dev_pair helper
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Thu, 23 Mar 2006 15:38:34 +0000 (15:38 +0000)
committerJeff Garzik <jeff@garzik.org>
Fri, 24 Mar 2006 14:52:32 +0000 (09:52 -0500)
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/scsi/libata-core.c
include/linux/libata.h

index d8f77f2..909568f 100644 (file)
@@ -1575,6 +1575,23 @@ void sata_phy_reset(struct ata_port *ap)
        ata_bus_reset(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.
index c52f134..80c2339 100644 (file)
@@ -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