diff options
author | Tejun Heo <htejun@gmail.com> | 2008-04-25 14:16:04 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-04-30 19:52:47 -0400 |
commit | 1da43e4a9ee942c9c967dbe8839476571df0c3ed (patch) | |
tree | 539fd5d6cbd2ae4f7150b171ca4a54f9f5d29437 /include/linux/klist.h | |
parent | 40a2159abf3d0107bba359246554bd7d56f2171b (diff) |
klist: implement KLIST_INIT() and DEFINE_KLIST()
klist is missing static initializers and definition helper. Add them.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux/klist.h')
-rw-r--r-- | include/linux/klist.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/klist.h b/include/linux/klist.h index 74071254c9d3..a119c0da8977 100644 --- a/include/linux/klist.h +++ b/include/linux/klist.h | |||
@@ -25,6 +25,14 @@ struct klist { | |||
25 | void (*put)(struct klist_node *); | 25 | void (*put)(struct klist_node *); |
26 | }; | 26 | }; |
27 | 27 | ||
28 | #define KLIST_INIT(_name, _get, _put) \ | ||
29 | { .k_lock = __SPIN_LOCK_UNLOCKED(_name.k_lock), \ | ||
30 | .k_list = LIST_HEAD_INIT(_name.k_list), \ | ||
31 | .get = _get, \ | ||
32 | .put = _put, } | ||
33 | |||
34 | #define DEFINE_KLIST(_name, _get, _put) \ | ||
35 | struct klist _name = KLIST_INIT(_name, _get, _put) | ||
28 | 36 | ||
29 | extern void klist_init(struct klist * k, void (*get)(struct klist_node *), | 37 | extern void klist_init(struct klist * k, void (*get)(struct klist_node *), |
30 | void (*put)(struct klist_node *)); | 38 | void (*put)(struct klist_node *)); |