From e49ee36d2477e405da1fe0e6efbf4c122df3b300 Mon Sep 17 00:00:00 2001 From: Dan Magenheimer Date: Wed, 23 Jan 2013 13:46:30 -0800 Subject: [PATCH] staging: zcache: fix ppc64 and other arches where PAGE_SIZE!=4K Replace raw constant 12 with PAGE_SHIFT to fix non-x86 arches and provoke build failure if PAGE_SHIFT is too big Signed-off-by: Dan Magenheimer Signed-off-by: Greg Kroah-Hartman --- drivers/staging/zcache/zbud.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/staging/zcache/zbud.c b/drivers/staging/zcache/zbud.c index a7c436127aa1..6835fab5d116 100644 --- a/drivers/staging/zcache/zbud.c +++ b/drivers/staging/zcache/zbud.c @@ -103,8 +103,8 @@ struct zbudpage { struct { unsigned long space_for_flags; struct { - unsigned zbud0_size:12; - unsigned zbud1_size:12; + unsigned zbud0_size: PAGE_SHIFT; + unsigned zbud1_size: PAGE_SHIFT; unsigned unevictable:2; }; struct list_head budlist; @@ -112,6 +112,9 @@ struct zbudpage { }; }; }; +#if (PAGE_SHIFT * 2) + 2 > BITS_PER_LONG +#error "zbud won't work for this arch, PAGE_SIZE is too large" +#endif struct zbudref { union { -- 2.34.1