diff options
author | Jes Sorensen <jes@sgi.com> | 2006-01-13 19:05:44 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2006-01-14 11:55:01 -0500 |
commit | d158d26167a3f6a910ec3e0eda23cc0cd437c689 (patch) | |
tree | 640e17d90669c4a854a8ba2f163dfc88132755e3 | |
parent | f20139bee4545b91f30e14e2f528320c7ab36fa6 (diff) |
[SCSI] sem2mutex: scsi_transport_spi.c
Convert the SCSI transport class code to use a mutex rather than a
semaphore.
Signed-off-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
-rw-r--r-- | drivers/scsi/scsi_transport_spi.c | 10 | ||||
-rw-r--r-- | include/scsi/scsi_transport_spi.h | 2 |
2 files changed, 6 insertions, 6 deletions
diff --git a/drivers/scsi/scsi_transport_spi.c b/drivers/scsi/scsi_transport_spi.c index 86306d681b6f..7ee95eb83dda 100644 --- a/drivers/scsi/scsi_transport_spi.c +++ b/drivers/scsi/scsi_transport_spi.c | |||
@@ -24,7 +24,7 @@ | |||
24 | #include <linux/module.h> | 24 | #include <linux/module.h> |
25 | #include <linux/workqueue.h> | 25 | #include <linux/workqueue.h> |
26 | #include <linux/blkdev.h> | 26 | #include <linux/blkdev.h> |
27 | #include <asm/semaphore.h> | 27 | #include <linux/mutex.h> |
28 | #include <scsi/scsi.h> | 28 | #include <scsi/scsi.h> |
29 | #include "scsi_priv.h" | 29 | #include "scsi_priv.h" |
30 | #include <scsi/scsi_device.h> | 30 | #include <scsi/scsi_device.h> |
@@ -48,7 +48,7 @@ | |||
48 | 48 | ||
49 | /* Private data accessors (keep these out of the header file) */ | 49 | /* Private data accessors (keep these out of the header file) */ |
50 | #define spi_dv_pending(x) (((struct spi_transport_attrs *)&(x)->starget_data)->dv_pending) | 50 | #define spi_dv_pending(x) (((struct spi_transport_attrs *)&(x)->starget_data)->dv_pending) |
51 | #define spi_dv_sem(x) (((struct spi_transport_attrs *)&(x)->starget_data)->dv_sem) | 51 | #define spi_dv_mutex(x) (((struct spi_transport_attrs *)&(x)->starget_data)->dv_mutex) |
52 | 52 | ||
53 | struct spi_internal { | 53 | struct spi_internal { |
54 | struct scsi_transport_template t; | 54 | struct scsi_transport_template t; |
@@ -242,7 +242,7 @@ static int spi_setup_transport_attrs(struct transport_container *tc, | |||
242 | spi_hold_mcs(starget) = 0; | 242 | spi_hold_mcs(starget) = 0; |
243 | spi_dv_pending(starget) = 0; | 243 | spi_dv_pending(starget) = 0; |
244 | spi_initial_dv(starget) = 0; | 244 | spi_initial_dv(starget) = 0; |
245 | init_MUTEX(&spi_dv_sem(starget)); | 245 | mutex_init(&spi_dv_mutex(starget)); |
246 | 246 | ||
247 | return 0; | 247 | return 0; |
248 | } | 248 | } |
@@ -915,7 +915,7 @@ spi_dv_device(struct scsi_device *sdev) | |||
915 | scsi_target_quiesce(starget); | 915 | scsi_target_quiesce(starget); |
916 | 916 | ||
917 | spi_dv_pending(starget) = 1; | 917 | spi_dv_pending(starget) = 1; |
918 | down(&spi_dv_sem(starget)); | 918 | mutex_lock(&spi_dv_mutex(starget)); |
919 | 919 | ||
920 | starget_printk(KERN_INFO, starget, "Beginning Domain Validation\n"); | 920 | starget_printk(KERN_INFO, starget, "Beginning Domain Validation\n"); |
921 | 921 | ||
@@ -923,7 +923,7 @@ spi_dv_device(struct scsi_device *sdev) | |||
923 | 923 | ||
924 | starget_printk(KERN_INFO, starget, "Ending Domain Validation\n"); | 924 | starget_printk(KERN_INFO, starget, "Ending Domain Validation\n"); |
925 | 925 | ||
926 | up(&spi_dv_sem(starget)); | 926 | mutex_unlock(&spi_dv_mutex(starget)); |
927 | spi_dv_pending(starget) = 0; | 927 | spi_dv_pending(starget) = 0; |
928 | 928 | ||
929 | scsi_target_resume(starget); | 929 | scsi_target_resume(starget); |
diff --git a/include/scsi/scsi_transport_spi.h b/include/scsi/scsi_transport_spi.h index 54a89611e9c5..2b5930ba69ec 100644 --- a/include/scsi/scsi_transport_spi.h +++ b/include/scsi/scsi_transport_spi.h | |||
@@ -54,7 +54,7 @@ struct spi_transport_attrs { | |||
54 | unsigned int support_qas; /* supports quick arbitration and selection */ | 54 | unsigned int support_qas; /* supports quick arbitration and selection */ |
55 | /* Private Fields */ | 55 | /* Private Fields */ |
56 | unsigned int dv_pending:1; /* Internal flag */ | 56 | unsigned int dv_pending:1; /* Internal flag */ |
57 | struct semaphore dv_sem; /* semaphore to serialise dv */ | 57 | struct mutex dv_mutex; /* semaphore to serialise dv */ |
58 | }; | 58 | }; |
59 | 59 | ||
60 | enum spi_signal_type { | 60 | enum spi_signal_type { |