diff options
author | Tejun Heo <htejun@gmail.com> | 2007-07-16 07:29:39 +0200 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-07-20 14:02:10 +0200 |
commit | 975530e8a33fdeb1ad80d82fde11d56bf9ed2760 (patch) | |
tree | d558d0e89eeab84bb0d5fa6ac51c393fa6d56560 /drivers/ata/sata_sil24.c | |
parent | sata_sil24: separate out sil24_exec_polled_cmd() (diff) | |
download | linux-975530e8a33fdeb1ad80d82fde11d56bf9ed2760.tar.xz linux-975530e8a33fdeb1ad80d82fde11d56bf9ed2760.zip |
sata_sil24: separate out sil24_do_softreset()
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>
Diffstat (limited to 'drivers/ata/sata_sil24.c')
-rw-r--r-- | drivers/ata/sata_sil24.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c index e6fe4c424a62..e538edc1b4ea 100644 --- a/drivers/ata/sata_sil24.c +++ b/drivers/ata/sata_sil24.c @@ -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) { |