Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 86b61240 authored by H. Peter Anvin's avatar H. Peter Anvin Committed by H. Peter Anvin
Browse files

x86, asm: Use CC_SET()/CC_OUT() in <asm/bitops.h>



Remove open-coded uses of set instructions to use CC_SET()/CC_OUT() in
<asm/bitops.h>.

Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
Link: http://lkml.kernel.org/r/1465414726-197858-7-git-send-email-hpa@linux.intel.com


Reviewed-by: default avatarAndy Lutomirski <luto@kernel.org>
Reviewed-by: default avatarBorislav Petkov <bp@suse.de>
Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
parent ba741e35
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -233,8 +233,8 @@ static __always_inline bool __test_and_set_bit(long nr, volatile unsigned long *
	bool oldbit;

	asm("bts %2,%1\n\t"
	    "setc %0"
	    : "=qm" (oldbit), ADDR
	    CC_SET(c)
	    : CC_OUT(c) (oldbit), ADDR
	    : "Ir" (nr));
	return oldbit;
}
@@ -273,8 +273,8 @@ static __always_inline bool __test_and_clear_bit(long nr, volatile unsigned long
	bool oldbit;

	asm volatile("btr %2,%1\n\t"
		     "setc %0"
		     : "=qm" (oldbit), ADDR
		     CC_SET(c)
		     : CC_OUT(c) (oldbit), ADDR
		     : "Ir" (nr));
	return oldbit;
}
@@ -285,8 +285,8 @@ static __always_inline bool __test_and_change_bit(long nr, volatile unsigned lon
	bool oldbit;

	asm volatile("btc %2,%1\n\t"
		     "setc %0"
		     : "=qm" (oldbit), ADDR
		     CC_SET(c)
		     : CC_OUT(c) (oldbit), ADDR
		     : "Ir" (nr) : "memory");

	return oldbit;
@@ -316,8 +316,8 @@ static __always_inline bool variable_test_bit(long nr, volatile const unsigned l
	bool oldbit;

	asm volatile("bt %2,%1\n\t"
		     "setc %0"
		     : "=qm" (oldbit)
		     CC_SET(c)
		     : CC_OUT(c) (oldbit)
		     : "m" (*(unsigned long *)addr), "Ir" (nr));

	return oldbit;