lib: hash: follow-up fixups for arch hash

This patch adds the include file to pull in __read_mostly on some
architectures e.g. ppc and also fixes up signatures in generic
asm.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Francesco Fusco <ffusco@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/include/asm-generic/hash.h b/include/asm-generic/hash.h
index 05cb342..b631284 100644
--- a/include/asm-generic/hash.h
+++ b/include/asm-generic/hash.h
@@ -1,8 +1,8 @@
 #ifndef __ASM_GENERIC_HASH_H
 #define __ASM_GENERIC_HASH_H
 
-struct arch_hash_ops;
-static inline void setup_arch_fast_hash(struct arch_hash_ops *ops)
+struct fast_hash_ops;
+static inline void setup_arch_fast_hash(struct fast_hash_ops *ops)
 {
 }
 
diff --git a/lib/hash.c b/lib/hash.c
index b89f06a..fea973f 100644
--- a/lib/hash.c
+++ b/lib/hash.c
@@ -12,6 +12,7 @@
 
 #include <linux/jhash.h>
 #include <linux/hash.h>
+#include <linux/cache.h>
 
 static struct fast_hash_ops arch_hash_ops __read_mostly = {
 	.hash  = jhash,