kref: fix up the kfree build problems
authorGreg Kroah-Hartman <gregkh@suse.de>
Wed, 14 Dec 2011 19:19:07 +0000 (11:19 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 14 Dec 2011 19:19:07 +0000 (11:19 -0800)
commit6261ddee70174372d6a75601f40719b7a5392f3f
treea7c8b98520a5ad531ccafebc50a9ed25b1762dff
parent3c8ed88974472b928489e3943616500ce2ad0cd8
kref: fix up the kfree build problems

It turns out that some memory allocators use kobjects, which use krefs,
and kref.h was wanting to figure out the address of kfree(), which ended
up in a loop.

kfree was only being needed for a warning to tell the caller that they
were doing something stupid.  Now we just move that warning into the
comments for the functions, which results in a bit more fun as everyone
enjoys digging for people to mock at times of boredom.

So, remove the dependancy of slab.h on kref.h, and fix up the other
include file as well (we really only need bug.h and atomic.h, not
types.h).

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
include/linux/kref.h