aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-02-10 09:58:48 -0500
committerJeff Garzik <jgarzik@pobox.com>2006-02-10 10:30:12 -0500
commit489ff4c7d167be954f715128790bd80d3c888322 (patch)
tree72c06ba67487dd1796fcf45e4d803a9880657bc6
parent07b734702a96efbc260bf50c2ce57e34167f431b (diff)
[PATCH] sata_sil24: add hardreset
Now that libata is smart enough to handle both soft and hard resets, add hardreset method. Note that sil24 hardreset doesn't supply signature; still, the new reset mechanism can make good use of it. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-rw-r--r--drivers/scsi/sata_sil24.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/scsi/sata_sil24.c b/drivers/scsi/sata_sil24.c
index ccac05a5eb6d..228a7fabffff 100644
--- a/drivers/scsi/sata_sil24.c
+++ b/drivers/scsi/sata_sil24.c
@@ -485,10 +485,19 @@ static int sil24_softreset(struct ata_port *ap, int verbose,
485 return 0; 485 return 0;
486} 486}
487 487
488static int sil24_hardreset(struct ata_port *ap, int verbose,
489 unsigned int *class)
490{
491 unsigned int dummy_class;
492
493 /* sil24 doesn't report device signature after hard reset */
494 return sata_std_hardreset(ap, verbose, &dummy_class);
495}
496
488static int sil24_probe_reset(struct ata_port *ap, unsigned int *classes) 497static int sil24_probe_reset(struct ata_port *ap, unsigned int *classes)
489{ 498{
490 return ata_drive_probe_reset(ap, ata_std_probeinit, 499 return ata_drive_probe_reset(ap, ata_std_probeinit,
491 sil24_softreset, NULL, 500 sil24_softreset, sil24_hardreset,
492 ata_std_postreset, classes); 501 ata_std_postreset, classes);
493} 502}
494 503