[3/12] More Driver Model Locking Changes

From: Patrick Mochel
Date: Fri Mar 25 2005 - 01:13:21 EST



ChangeSet@xxxxxx, 2005-03-24 12:58:57-08:00, mochel@xxxxxxxxxxxxxxxxxx
[klist] add klist_node_attached() to determine if a node is on a list or not.


Signed-off-by: Patrick Mochel <mochel@xxxxxxxxxxxxxxxxxx>

diff -Nru a/include/linux/klist.h b/include/linux/klist.h
--- a/include/linux/klist.h 2005-03-24 20:33:45 -08:00
+++ b/include/linux/klist.h 2005-03-24 20:33:45 -08:00
@@ -37,6 +37,8 @@
extern void klist_del(struct klist_node * n);
extern void klist_remove(struct klist_node * n);

+extern int klist_node_attached(struct klist_node * n);
+

struct klist_iter {
struct klist * i_klist;
diff -Nru a/lib/klist.c b/lib/klist.c
--- a/lib/klist.c 2005-03-24 20:33:45 -08:00
+++ b/lib/klist.c 2005-03-24 20:33:45 -08:00
@@ -112,6 +112,7 @@
struct klist_node * n = container_of(kref, struct klist_node, n_ref);
list_del(&n->n_node);
complete(&n->n_removed);
+ n->n_klist = NULL;
}

static int klist_dec_and_del(struct klist_node * n)
@@ -154,6 +155,19 @@


/**
+ * klist_node_attached - Say whether a node is bound to a list or not.
+ * @n: Node that we're testing.
+ */
+
+int klist_node_attached(struct klist_node * n)
+{
+ return (n->n_klist != NULL);
+}
+
+EXPORT_SYMBOL_GPL(klist_node_attached);
+
+
+/**
* klist_iter_init_node - Initialize a klist_iter structure.
* @k: klist we're iterating.
* @i: klist_iter we're filling.
@@ -246,3 +260,5 @@
}

EXPORT_SYMBOL_GPL(klist_next);
+
+
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/