summaryrefslogtreecommitdiff
path: root/lib/kref.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2010-03-16 15:14:51 +1100
committerGreg Kroah-Hartman <gregkh@suse.de>2010-05-21 09:37:29 -0700
commitdb1afffab0b5d9f6d31f8f4bea44c9cb3bc59351 (patch)
tree5ba8fd7a5018c0772d999b8c3aa945c0efb929e0 /lib/kref.c
parentdd336c554d8926c3348a2d5f2a5ef5597f6d1a06 (diff)
downloadlinux-db1afffab0b5d9f6d31f8f4bea44c9cb3bc59351.tar.gz
kref: remove kref_set
Of the three uses of kref_set in the kernel: One really should be kref_put as the code is letting go of a reference, Two really should be kref_init because the kref is being initialised. This suggests that making kref_set available encourages bad code. So fix the three uses and remove kref_set completely. Signed-off-by: NeilBrown <neilb@suse.de> Acked-by: Mimi Zohar <zohar@us.ibm.com> Acked-by: Serge Hallyn <serue@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'lib/kref.c')
-rw-r--r--lib/kref.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/lib/kref.c b/lib/kref.c
index 6d19f690380b..d3d227a08a4b 100644
--- a/lib/kref.c
+++ b/lib/kref.c
@@ -16,23 +16,13 @@
#include <linux/slab.h>
/**
- * kref_set - initialize object and set refcount to requested number.
- * @kref: object in question.
- * @num: initial reference counter
- */
-void kref_set(struct kref *kref, int num)
-{
- atomic_set(&kref->refcount, num);
- smp_mb();
-}
-
-/**
* kref_init - initialize object.
* @kref: object in question.
*/
void kref_init(struct kref *kref)
{
- kref_set(kref, 1);
+ atomic_set(&kref->refcount, 1);
+ smp_mb();
}
/**
@@ -72,7 +62,6 @@ int kref_put(struct kref *kref, void (*release)(struct kref *kref))
return 0;
}
-EXPORT_SYMBOL(kref_set);
EXPORT_SYMBOL(kref_init);
EXPORT_SYMBOL(kref_get);
EXPORT_SYMBOL(kref_put);