X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=include%2Flinux%2Fhash.h;h=24df9e70406ffb94fb98faf91c174e236155a639;hb=575659936f9d392b93b03ce97a58dbd4fce18abd;hp=b80506bdd733ee181f202ddb6322529d42299d1b;hpb=b3aec7b686329e6bb65aa08c7f9458f7fd512f06;p=~andy%2Flinux diff --git a/include/linux/hash.h b/include/linux/hash.h index b80506bdd73..24df9e70406 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) { return hash_long((unsigned long)ptr, bits); } + +static inline u32 hash32_ptr(const void *ptr) +{ + unsigned long val = (unsigned long)ptr; + +#if BITS_PER_LONG == 64 + val ^= (val >> 32); +#endif + return (u32)val; +} #endif /* _LINUX_HASH_H */