Re: [PATCH] staging: fix powerpc linux-next break on zsmalloc

Marc Dietrich
2012-02-14T11:22:24Z

Am 13.02.2012 15:47, schrieb Seth Jennings:
> linux/vmalloc.h added to zsmalloc-main.c to resolve implicit
> declaration errors.
>
> X86 dependency added to zsmalloc and dependent drivers zcache and zram.
>
> This X86 only requirement is not ideal. Working to find portable
> functions for __flush_tlb_one and set_pte.

sorry, zcache/zram works fine one ARM here. Why not depend on !POWERPC?

Marc

> Signed-off-by: Seth Jennings<sjenning@linux.vnet.ibm.com>
> ---
> drivers/staging/zcache/Kconfig | 4 +++-
> drivers/staging/zram/Kconfig | 4 +++-
> drivers/staging/zsmalloc/Kconfig | 5 ++++-
> drivers/staging/zsmalloc/zsmalloc-main.c | 1 +
> 4 files changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/zcache/Kconfig b/drivers/staging/zcache/Kconfig
> index 94e48aa..5a36fcf 100644
> --- a/drivers/staging/zcache/Kconfig
> +++ b/drivers/staging/zcache/Kconfig
> @@ -1,6 +1,8 @@
> config ZCACHE
> tristate "Dynamic compression of swap pages and clean pagecache pages"
> - depends on (CLEANCACHE || FRONTSWAP)&& CRYPTO
> + # X86 dependency is because zsmalloc uses non-portable pte/tlb
> + # functions
> + depends on (CLEANCACHE || FRONTSWAP)&& CRYPTO&& X86
> select ZSMALLOC
> select CRYPTO_LZO
> default n
> diff --git a/drivers/staging/zram/Kconfig b/drivers/staging/zram/Kconfig
> index ee23a86..9d11a4c 100644
> --- a/drivers/staging/zram/Kconfig
> +++ b/drivers/staging/zram/Kconfig
> @@ -1,6 +1,8 @@
> config ZRAM
> tristate "Compressed RAM block device support"
> - depends on BLOCK&& SYSFS
> + # X86 dependency is because zsmalloc uses non-portable pte/tlb
> + # functions
> + depends on BLOCK&& SYSFS&& X86
> select ZSMALLOC
> select LZO_COMPRESS
> select LZO_DECOMPRESS
> diff --git a/drivers/staging/zsmalloc/Kconfig b/drivers/staging/zsmalloc/Kconfig
> index 3e7a8d4..8e2c6a0 100644
> --- a/drivers/staging/zsmalloc/Kconfig
> +++ b/drivers/staging/zsmalloc/Kconfig
> @@ -1,6 +1,9 @@
> config ZSMALLOC
> tristate "Memory allocator for compressed pages"
> - depends on SPARSEMEM
> + # X86 dependency is because of the use of __flush_tlb_one and set_pte
> + # in zsmalloc-main.c.
> + # TODO: convert these to portable functions
> + depends on SPARSEMEM&& X86
> default n
> help
> zsmalloc is a slab-based memory allocator designed to store
> diff --git a/drivers/staging/zsmalloc/zsmalloc-main.c b/drivers/staging/zsmalloc/zsmalloc-main.c
> index 189fb42..455fc2f 100644
> --- a/drivers/staging/zsmalloc/zsmalloc-main.c
> +++ b/drivers/staging/zsmalloc/zsmalloc-main.c
> @@ -26,6 +26,7 @@
> #include<asm/pgtable.h>
> #include<linux/cpumask.h>
> #include<linux/cpu.h>
> +#include<linux/vmalloc.h>
>
> #include "zsmalloc.h"
> #include "zsmalloc_int.h"