]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/linux/klist.h
Merge branch 'topic/vmaster-update' into topic/docbook-fix
[karo-tx-linux.git] / include / linux / klist.h
index 06c338ef7f1b9ee62cc43fa4e30e9d79a3acc072..e91a4e59b77197cf632aa0784dc5d856556b7a33 100644 (file)
@@ -13,7 +13,6 @@
 #define _LINUX_KLIST_H
 
 #include <linux/spinlock.h>
-#include <linux/completion.h>
 #include <linux/kref.h>
 #include <linux/list.h>
 
@@ -23,7 +22,7 @@ struct klist {
        struct list_head        k_list;
        void                    (*get)(struct klist_node *);
        void                    (*put)(struct klist_node *);
-};
+} __attribute__ ((aligned (4)));
 
 #define KLIST_INIT(_name, _get, _put)                                  \
        { .k_lock       = __SPIN_LOCK_UNLOCKED(_name.k_lock),           \
@@ -38,10 +37,9 @@ extern void klist_init(struct klist *k, void (*get)(struct klist_node *),
                       void (*put)(struct klist_node *));
 
 struct klist_node {
-       struct klist            *n_klist;
+       void                    *n_klist;       /* never access directly */
        struct list_head        n_node;
        struct kref             n_ref;
-       struct completion       n_removed;
 };
 
 extern void klist_add_tail(struct klist_node *n, struct klist *k);
@@ -57,7 +55,6 @@ extern int klist_node_attached(struct klist_node *n);
 
 struct klist_iter {
        struct klist            *i_klist;
-       struct list_head        *i_head;
        struct klist_node       *i_cur;
 };