|
@@ -87,13 +87,15 @@ static __always_inline unsigned long __ffs(unsigned long word)
|
|
|
return num;
|
|
|
}
|
|
|
|
|
|
+typedef const unsigned long __attribute__((__may_alias__)) long_alias_t;
|
|
|
+
|
|
|
/*
|
|
|
* Find the first set bit in a memory region.
|
|
|
*/
|
|
|
static inline unsigned long
|
|
|
find_first_bit(const unsigned long *addr, unsigned long size)
|
|
|
{
|
|
|
- const unsigned long *p = addr;
|
|
|
+ long_alias_t *p = (long_alias_t *) addr;
|
|
|
unsigned long result = 0;
|
|
|
unsigned long tmp;
|
|
|
|