aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2008-04-25 14:16:04 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-04-30 19:52:47 -0400
commit1da43e4a9ee942c9c967dbe8839476571df0c3ed (patch)
tree539fd5d6cbd2ae4f7150b171ca4a54f9f5d29437
parent40a2159abf3d0107bba359246554bd7d56f2171b (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>
-rw-r--r--include/linux/klist.h8
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
29extern void klist_init(struct klist * k, void (*get)(struct klist_node *), 37extern void klist_init(struct klist * k, void (*get)(struct klist_node *),
30 void (*put)(struct klist_node *)); 38 void (*put)(struct klist_node *));