diff options
author | Tejun Heo <htejun@gmail.com> | 2006-02-10 09:58:48 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2006-02-10 10:30:12 -0500 |
commit | 489ff4c7d167be954f715128790bd80d3c888322 (patch) | |
tree | 72c06ba67487dd1796fcf45e4d803a9880657bc6 /drivers/scsi/sata_sil24.c | |
parent | 07b734702a96efbc260bf50c2ce57e34167f431b (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>
Diffstat (limited to 'drivers/scsi/sata_sil24.c')
-rw-r--r-- | drivers/scsi/sata_sil24.c | 11 |
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 | ||
488 | static 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 | |||
488 | static int sil24_probe_reset(struct ata_port *ap, unsigned int *classes) | 497 | static 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 | ||