diff options
author | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-01-16 03:14:11 -0500 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-02-17 11:48:20 -0500 |
commit | 00ce99ff506a17882747a7d6874e3f5206a99043 (patch) | |
tree | 571f5b106f25f35f326d456123c4af85147c3bce /include/pcmcia | |
parent | 3d3de32fad19e37695e6649136e4cb17f9d46329 (diff) |
pcmcia: simplify locking
replace pcmcia_socket->lock and pcmcia_dev_list_lock by using the
per-socket "ops_mutex", as we do neither need different locks
nor a spinlock here.
Tested-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'include/pcmcia')
-rw-r--r-- | include/pcmcia/ss.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/pcmcia/ss.h b/include/pcmcia/ss.h index e756069859b5..cfaccc224b50 100644 --- a/include/pcmcia/ss.h +++ b/include/pcmcia/ss.h | |||
@@ -134,7 +134,6 @@ struct pccard_operations { | |||
134 | 134 | ||
135 | struct pcmcia_socket { | 135 | struct pcmcia_socket { |
136 | struct module *owner; | 136 | struct module *owner; |
137 | spinlock_t lock; | ||
138 | socket_state_t socket; | 137 | socket_state_t socket; |
139 | u_int state; | 138 | u_int state; |
140 | u_int suspended_state; /* state before suspend */ | 139 | u_int suspended_state; /* state before suspend */ |
@@ -201,10 +200,12 @@ struct pcmcia_socket { | |||
201 | struct task_struct *thread; | 200 | struct task_struct *thread; |
202 | struct completion thread_done; | 201 | struct completion thread_done; |
203 | unsigned int thread_events; | 202 | unsigned int thread_events; |
204 | /* protects socket h/w state */ | 203 | |
204 | /* For the non-trivial interaction between these locks, | ||
205 | * see Documentation/pcmcia/locking.txt */ | ||
205 | struct mutex skt_mutex; | 206 | struct mutex skt_mutex; |
206 | /* protects PCMCIA state */ | ||
207 | struct mutex ops_mutex; | 207 | struct mutex ops_mutex; |
208 | |||
208 | /* protects thread_events */ | 209 | /* protects thread_events */ |
209 | spinlock_t thread_lock; | 210 | spinlock_t thread_lock; |
210 | 211 | ||