Commit 975530e8 authored by Tejun Heo's avatar Tejun Heo Committed by Jeff Garzik
Browse files

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: default avatarTejun Heo <htejun@gmail.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 37b99cba
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -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)
{