mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 09:36:25 +00:00 
			
		
		
		
	 db1afffab0
			
		
	
	
		db1afffab0
		
	
	
	
	
		
			
			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>
		
	
			
		
			
				
	
	
		
			29 lines
		
	
	
		
			638 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			638 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * kref.h - library routines for handling generic reference counted objects
 | |
|  *
 | |
|  * Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com>
 | |
|  * Copyright (C) 2004 IBM Corp.
 | |
|  *
 | |
|  * based on kobject.h which was:
 | |
|  * Copyright (C) 2002-2003 Patrick Mochel <mochel@osdl.org>
 | |
|  * Copyright (C) 2002-2003 Open Source Development Labs
 | |
|  *
 | |
|  * This file is released under the GPLv2.
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #ifndef _KREF_H_
 | |
| #define _KREF_H_
 | |
| 
 | |
| #include <linux/types.h>
 | |
| 
 | |
| struct kref {
 | |
| 	atomic_t refcount;
 | |
| };
 | |
| 
 | |
| void kref_init(struct kref *kref);
 | |
| void kref_get(struct kref *kref);
 | |
| int kref_put(struct kref *kref, void (*release) (struct kref *kref));
 | |
| 
 | |
| #endif /* _KREF_H_ */
 |