diff options
author | David Howells <dhowells@redhat.com> | 2006-11-22 09:54:45 -0500 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2006-11-22 09:54:45 -0500 |
commit | 6bb49e5965c1fc399b4d3cd2b5cf2da535b330c0 (patch) | |
tree | ebf48d3bb43c8dbf65d2653b8810973e69d3517e /include | |
parent | 52bad64d95bd89e08c49ec5a071fa6dcbe5a1a9c (diff) |
WorkStruct: Typedef the work function prototype
Define a type for the work function prototype. It's not only kept in the
work_struct struct, it's also passed as an argument to several functions.
This makes it easier to change it.
Signed-Off-By: David Howells <dhowells@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/workqueue.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index 9faaccae570e..cef40b22ff9a 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h | |||
@@ -11,10 +11,12 @@ | |||
11 | 11 | ||
12 | struct workqueue_struct; | 12 | struct workqueue_struct; |
13 | 13 | ||
14 | typedef void (*work_func_t)(void *data); | ||
15 | |||
14 | struct work_struct { | 16 | struct work_struct { |
15 | unsigned long pending; | 17 | unsigned long pending; |
16 | struct list_head entry; | 18 | struct list_head entry; |
17 | void (*func)(void *); | 19 | work_func_t func; |
18 | void *data; | 20 | void *data; |
19 | void *wq_data; | 21 | void *wq_data; |
20 | }; | 22 | }; |
@@ -91,7 +93,7 @@ extern int FASTCALL(schedule_work(struct work_struct *work)); | |||
91 | extern int FASTCALL(schedule_delayed_work(struct delayed_work *work, unsigned long delay)); | 93 | extern int FASTCALL(schedule_delayed_work(struct delayed_work *work, unsigned long delay)); |
92 | 94 | ||
93 | extern int schedule_delayed_work_on(int cpu, struct delayed_work *work, unsigned long delay); | 95 | extern int schedule_delayed_work_on(int cpu, struct delayed_work *work, unsigned long delay); |
94 | extern int schedule_on_each_cpu(void (*func)(void *info), void *info); | 96 | extern int schedule_on_each_cpu(work_func_t func, void *info); |
95 | extern void flush_scheduled_work(void); | 97 | extern void flush_scheduled_work(void); |
96 | extern int current_is_keventd(void); | 98 | extern int current_is_keventd(void); |
97 | extern int keventd_up(void); | 99 | extern int keventd_up(void); |
@@ -100,8 +102,7 @@ extern void init_workqueues(void); | |||
100 | void cancel_rearming_delayed_work(struct delayed_work *work); | 102 | void cancel_rearming_delayed_work(struct delayed_work *work); |
101 | void cancel_rearming_delayed_workqueue(struct workqueue_struct *, | 103 | void cancel_rearming_delayed_workqueue(struct workqueue_struct *, |
102 | struct delayed_work *); | 104 | struct delayed_work *); |
103 | int execute_in_process_context(void (*fn)(void *), void *, | 105 | int execute_in_process_context(work_func_t fn, void *, struct execute_work *); |
104 | struct execute_work *); | ||
105 | 106 | ||
106 | /* | 107 | /* |
107 | * Kill off a pending schedule_delayed_work(). Note that the work callback | 108 | * Kill off a pending schedule_delayed_work(). Note that the work callback |