From: Dan Magenheimer Date: Wed, 23 Jan 2013 21:46:30 +0000 (-0800) Subject: staging: zcache: fix ppc64 and other arches where PAGE_SIZE!=4K X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=e49ee36d2477e405da1fe0e6efbf4c122df3b300;p=deliverable%2Flinux.git 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 --- 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 {