summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2010-03-16 15:14:51 +1100
committerStephen Rothwell <sfr@canb.auug.org.au>2010-03-30 10:59:26 +1100
commit35e30c170c95e88fef387254d9ab97442626d5a1 (patch)
tree8067e3ead9f9cf0c7519daa227b8eb8906d6e22c /lib
parent220bf991b0366cc50a94feede3d7341fa5710ee4 (diff)
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')
-rw-r--r--lib/kref.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/lib/kref.c b/lib/kref.c
index 9ecd6e865610..69761d3de203 100644
--- a/lib/kref.c
+++ b/lib/kref.c
@@ -15,23 +15,13 @@
#include <linux/module.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();
}
/**
@@ -71,7 +61,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);