sata_sil24: separate out sil24_do_softreset()
authorTejun Heo <htejun@gmail.com>
Mon, 16 Jul 2007 05:29:39 +0000 (14:29 +0900)
committerJeff Garzik <jeff@garzik.org>
Fri, 20 Jul 2007 12:02:10 +0000 (08:02 -0400)
Separate out sil24_do_softreset() which takes @pmp as its last
argument.  This will be used to implement sil24_pmp_softreset().

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/ata/sata_sil24.c

index e6fe4c4..e538edc 100644 (file)
@@ -578,8 +578,8 @@ static int sil24_exec_polled_cmd(struct ata_port *ap, int pmp,
        return rc;
 }
 
-static int sil24_softreset(struct ata_port *ap, unsigned int *class,
-                          unsigned long deadline)
+static int sil24_do_softreset(struct ata_port *ap, unsigned int *class,
+                             int pmp, unsigned long deadline)
 {
        unsigned long timeout_msec = 0;
        struct ata_taskfile tf;
@@ -605,7 +605,8 @@ static int sil24_softreset(struct ata_port *ap, unsigned int *class,
                timeout_msec = jiffies_to_msecs(deadline - jiffies);
 
        ata_tf_init(ap->device, &tf);   /* doesn't really matter */
-       rc = sil24_exec_polled_cmd(ap, 0, &tf, 0, PRB_CTRL_SRST, timeout_msec);
+       rc = sil24_exec_polled_cmd(ap, pmp, &tf, 0, PRB_CTRL_SRST,
+                                  timeout_msec);
        if (rc == -EBUSY) {
                reason = "timeout";
                goto err;
@@ -629,6 +630,12 @@ static int sil24_softreset(struct ata_port *ap, unsigned int *class,
        return -EIO;
 }
 
+static int sil24_softreset(struct ata_port *ap, unsigned int *class,
+                          unsigned long deadline)
+{
+       return sil24_do_softreset(ap, class, 0, deadline);
+}
+
 static int sil24_hardreset(struct ata_port *ap, unsigned int *class,
                           unsigned long deadline)
 {