diff options
| author | 2020-08-11 11:58:31 +1000 | |
|---|---|---|
| committer | 2020-08-11 11:58:31 +1000 | |
| commit | c44264f9f729fd63bd6a81a6ac5cd6cd49af09e5 (patch) | |
| tree | ad77b18ffeafb50b3eb9ba6472670dc1d96f5558 /arch/parisc/lib/bitops.c | |
| parent | Merge tag 'drm-misc-next-fixes-2020-08-05' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (diff) | |
| parent | Linux 5.8 (diff) | |
| download | wireguard-linux-c44264f9f729fd63bd6a81a6ac5cd6cd49af09e5.tar.xz wireguard-linux-c44264f9f729fd63bd6a81a6ac5cd6cd49af09e5.zip | |
Merge tag 'v5.8' into drm-next
I need to backmerge 5.8 as I've got a bunch of fixes sitting
on an rc7 base that I want to land.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'arch/parisc/lib/bitops.c')
| -rw-r--r-- | arch/parisc/lib/bitops.c | 12 |
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; +} |
