diff options
Diffstat (limited to 'include/linux/hash.h')
-rw-r--r-- | include/linux/hash.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/hash.h b/include/linux/hash.h index b80506bdd733..24df9e70406f 100644 --- a/include/linux/hash.h +++ b/include/linux/hash.h | |||
@@ -67,4 +67,14 @@ static inline unsigned long hash_ptr(const void *ptr, unsigned int bits) | |||
67 | { | 67 | { |
68 | return hash_long((unsigned long)ptr, bits); | 68 | return hash_long((unsigned long)ptr, bits); |
69 | } | 69 | } |
70 | |||
71 | static inline u32 hash32_ptr(const void *ptr) | ||
72 | { | ||
73 | unsigned long val = (unsigned long)ptr; | ||
74 | |||
75 | #if BITS_PER_LONG == 64 | ||
76 | val ^= (val >> 32); | ||
77 | #endif | ||
78 | return (u32)val; | ||
79 | } | ||
70 | #endif /* _LINUX_HASH_H */ | 80 | #endif /* _LINUX_HASH_H */ |