/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef HASH_H #define HASH_H static inline unsigned int hash_str(const char *s) { /* fnv32 hash */ unsigned int hash = 2166136261U; for (; *s; s++) hash = (hash ^ *s) * 0x01000193; return hash; } /* simplified version of functions from include/linux/hash.h */ #define GOLDEN_RATIO_32 0x61C88647 static inline unsigned int hash_32(unsigned int val) { return 0x61C88647 * val; } static inline unsigned int hash_ptr(const void *ptr) { return hash_32((unsigned int)(unsigned long)ptr); } #endif /* HASH_H */