diff options
author | Alex Dubov <oakad@yahoo.com> | 2007-04-12 02:59:15 -0400 |
---|---|---|
committer | Pierre Ossman <drzeus@drzeus.cx> | 2007-05-01 07:04:13 -0400 |
commit | 3540af8ffddcdbc7573451ac0b5cd57a2eaf8af5 (patch) | |
tree | 387b17747358710e15e06dc48884b9f333fc1729 /include/linux | |
parent | e23f2b8a1a52c00f0150659eb0bfde3a73976ffe (diff) |
tifm: replace per-adapter kthread with freezeable workqueue
Freezeable workqueue makes sure that adapter work items (device insertions
and removals) would be handled after the system is fully resumed. Previously
this was achieved by explicit freezing of the kthread.
Signed-off-by: Alex Dubov <oakad@yahoo.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/tifm.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/include/linux/tifm.h b/include/linux/tifm.h index 57b2653494cf..d9de79275c21 100644 --- a/include/linux/tifm.h +++ b/include/linux/tifm.h | |||
@@ -111,11 +111,11 @@ struct tifm_adapter { | |||
111 | spinlock_t lock; | 111 | spinlock_t lock; |
112 | unsigned int irq_status; | 112 | unsigned int irq_status; |
113 | unsigned int socket_change_set; | 113 | unsigned int socket_change_set; |
114 | wait_queue_head_t change_set_notify; | ||
115 | unsigned int id; | 114 | unsigned int id; |
116 | unsigned int num_sockets; | 115 | unsigned int num_sockets; |
116 | struct completion *finish_me; | ||
117 | struct tifm_dev **sockets; | 117 | struct tifm_dev **sockets; |
118 | struct task_struct *media_switcher; | 118 | struct work_struct media_switcher; |
119 | struct class_device cdev; | 119 | struct class_device cdev; |
120 | struct device *dev; | 120 | struct device *dev; |
121 | 121 | ||
@@ -125,7 +125,7 @@ struct tifm_adapter { | |||
125 | struct tifm_adapter *tifm_alloc_adapter(void); | 125 | struct tifm_adapter *tifm_alloc_adapter(void); |
126 | void tifm_free_device(struct device *dev); | 126 | void tifm_free_device(struct device *dev); |
127 | void tifm_free_adapter(struct tifm_adapter *fm); | 127 | void tifm_free_adapter(struct tifm_adapter *fm); |
128 | int tifm_add_adapter(struct tifm_adapter *fm, int (*mediathreadfn)(void *data)); | 128 | int tifm_add_adapter(struct tifm_adapter *fm); |
129 | void tifm_remove_adapter(struct tifm_adapter *fm); | 129 | void tifm_remove_adapter(struct tifm_adapter *fm); |
130 | struct tifm_dev *tifm_alloc_device(struct tifm_adapter *fm); | 130 | struct tifm_dev *tifm_alloc_device(struct tifm_adapter *fm); |
131 | int tifm_register_driver(struct tifm_driver *drv); | 131 | int tifm_register_driver(struct tifm_driver *drv); |
@@ -135,7 +135,7 @@ int tifm_map_sg(struct tifm_dev *sock, struct scatterlist *sg, int nents, | |||
135 | int direction); | 135 | int direction); |
136 | void tifm_unmap_sg(struct tifm_dev *sock, struct scatterlist *sg, int nents, | 136 | void tifm_unmap_sg(struct tifm_dev *sock, struct scatterlist *sg, int nents, |
137 | int direction); | 137 | int direction); |
138 | 138 | void tifm_queue_work(struct work_struct *work); | |
139 | 139 | ||
140 | static inline void *tifm_get_drvdata(struct tifm_dev *dev) | 140 | static inline void *tifm_get_drvdata(struct tifm_dev *dev) |
141 | { | 141 | { |