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 <[email protected]>
---
 drivers/staging/zcache/zbud.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/zcache/zbud.c b/drivers/staging/zcache/zbud.c
index a7c4361..6835fab 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 {
-- 
1.7.1

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to