Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8b0c250b authored by Patrick Mochel's avatar Patrick Mochel Committed by Greg Kroah-Hartman
Browse files

[PATCH] add klist_node_attached() to determine if a node is on a list or not.



Signed-off-by: default avatarPatrick Mochel <mochel@digitalimplant.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>

diff -Nru a/include/linux/klist.h b/include/linux/klist.h
parent 2287c322
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -37,6 +37,8 @@ extern void klist_add_head(struct klist * k, struct klist_node * n);
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;
+16 −0
Original line number Diff line number Diff line
@@ -112,6 +112,7 @@ static void klist_release(struct kref * kref)
	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)
@@ -153,6 +154,19 @@ void klist_remove(struct klist_node * n)
EXPORT_SYMBOL_GPL(klist_remove);


/**
 *	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.
@@ -246,3 +260,5 @@ struct klist_node * klist_next(struct klist_iter * i)
}

EXPORT_SYMBOL_GPL(klist_next);