staging: zcache: enable zcache to be built/loaded as a module
authorDan Magenheimer <dan.magenheimer@oracle.com>
Tue, 30 Apr 2013 22:27:05 +0000 (15:27 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 1 May 2013 00:04:01 +0000 (17:04 -0700)
commit835f2f51608fd80e1aef5a8955dabcc36ea528a4
tree6faea4b90d9c76ce7962ebcce0b5b98373e44f3c
parent1ac37bee81531cb62a9a64e78ffdad7da9b20ea2
staging: zcache: enable zcache to be built/loaded as a module

Allow zcache to be built/loaded as a module.  Note runtime dependency
disallows loading if cleancache/frontswap lazy initialization patches
are not present.  Zsmalloc support has not yet been merged into zcache
but, once merged, could now easily be selected via a module_param.

If built-in (not built as a module), the original mechanism of enabling
via a kernel boot parameter is retained, but this should be considered
deprecated.

Note that module unload is explicitly not yet supported.

Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
[v1: Rebased with different order of patches]
[v2: Removed [CLEANCACHE|FRONTSWAP]_HAS_LAZY_INIT ifdef]
[v3: Rebased on top of ramster->zcache move]
[v4: Redid the Makefile]
[v5: s/ZCACHE2/ZCACHE/]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Cc: Wanpeng Li <liwanp@linux.vnet.ibm.com>
Cc: Andor Daam <andor.daam@googlemail.com>
Cc: Florian Schmaus <fschmaus@gmail.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Stefan Hengelein <ilendir@googlemail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/staging/zcache/Kconfig
drivers/staging/zcache/tmem.c
drivers/staging/zcache/tmem.h
drivers/staging/zcache/zcache-main.c
drivers/staging/zcache/zcache.h