summaryrefslogtreecommitdiff
path: root/arch/parisc/lib/bitops.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-07-27 12:39:54 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-07-27 12:39:54 +0200
commiteea2c51f81df9df5123c042f07c7c6c33bf5fabb (patch)
tree03fbe44c178809b9b5174b599528068ca91f35ce /arch/parisc/lib/bitops.c
parent280c7f95f858b103e62d84cae2d5ed9f5cf54d41 (diff)
parent92ed301919932f777713b9172e525674157e983d (diff)
Merge 5.8-rc7 into driver-core-next
We want the driver core fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/parisc/lib/bitops.c')
-rw-r--r--arch/parisc/lib/bitops.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/parisc/lib/bitops.c b/arch/parisc/lib/bitops.c
index 70ffbcf889b8..2e4d1f05a926 100644
--- a/arch/parisc/lib/bitops.c
+++ b/arch/parisc/lib/bitops.c
@@ -79,3 +79,15 @@ unsigned long __cmpxchg_u32(volatile unsigned int *ptr, unsigned int old, unsign
_atomic_spin_unlock_irqrestore(ptr, flags);
return (unsigned long)prev;
}
+
+u8 __cmpxchg_u8(volatile u8 *ptr, u8 old, u8 new)
+{
+ unsigned long flags;
+ u8 prev;
+
+ _atomic_spin_lock_irqsave(ptr, flags);
+ if ((prev = *ptr) == old)
+ *ptr = new;
+ _atomic_spin_unlock_irqrestore(ptr, flags);
+ return prev;
+}