Commit 1943dc07 authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

bitops: Revert cbe96375 ("bitops: Add clear/set_bit32() to linux/bitops.h")



These ops are not endian safe and may break on architectures which have
aligment requirements.

Reverts: cbe96375 ("bitops: Add clear/set_bit32() to linux/bitops.h")
Reported-by: default avatarPeter Zijlstra <peterz@infradead.org>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: Andi Kleen <ak@linux.intel.com>
parent 06dd688d
Loading
Loading
Loading
Loading
+0 −26
Original line number Diff line number Diff line
@@ -227,32 +227,6 @@ static inline unsigned long __ffs64(u64 word)
	return __ffs((unsigned long)word);
}

/*
 * clear_bit32 - Clear a bit in memory for u32 array
 * @nr: Bit to clear
 * @addr: u32 * address of bitmap
 *
 * Same as clear_bit, but avoids needing casts for u32 arrays.
 */

static __always_inline void clear_bit32(long nr, volatile u32 *addr)
{
	clear_bit(nr, (volatile unsigned long *)addr);
}

/*
 * set_bit32 - Set a bit in memory for u32 array
 * @nr: Bit to clear
 * @addr: u32 * address of bitmap
 *
 * Same as set_bit, but avoids needing casts for u32 arrays.
 */

static __always_inline void set_bit32(long nr, volatile u32 *addr)
{
	set_bit(nr, (volatile unsigned long *)addr);
}

#ifdef __KERNEL__

#ifndef set_mask_bits