diff options
-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 { void (*put)(struct klist_node *); }; +#define KLIST_INIT(_name, _get, _put) \ + { .k_lock = __SPIN_LOCK_UNLOCKED(_name.k_lock), \ + .k_list = LIST_HEAD_INIT(_name.k_list), \ + .get = _get, \ + .put = _put, } + +#define DEFINE_KLIST(_name, _get, _put) \ + struct klist _name = KLIST_INIT(_name, _get, _put) extern void klist_init(struct klist * k, void (*get)(struct klist_node *), void (*put)(struct klist_node *)); |