mirror_ubuntu-kernels/arch/m68k/include/asm
Mark Rutland d12157efc8 locking/atomic: make atomic*_{cmp,}xchg optional
Most architectures define the atomic/atomic64 xchg and cmpxchg
operations in terms of arch_xchg and arch_cmpxchg respectfully.

Add fallbacks for these cases and remove the trivial cases from arch
code. On some architectures the existing definitions are kept as these
are used to build other arch_atomic*() operations.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20230605070124.3741859-5-mark.rutland@arm.com
2023-06-05 09:57:14 +02:00
..
adb_iop.h macintosh/adb-iop: Implement SRQ autopolling 2020-07-26 23:34:24 +10:00
amigahw.h m68k/UAPI: Move Amiga model/chipset definitions to <asm/bootinfo-amiga.h> 2013-11-26 11:09:17 +01:00
amigaints.h
amigayle.h
amipcmcia.h
apollohw.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
asm-offsets.h
asm-prototypes.h m68k: Restore symbol versions for symbols exported from assembly 2017-08-21 11:52:55 +02:00
atari_joystick.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atari_stdma.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atari_stram.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atarihw.h m68k: atari: Rename shifter to shifter_st to avoid conflict 2019-08-19 13:24:10 +02:00
atariints.h m68k/atari: Remove obsolete IRQ_TYPE_* 2015-01-15 13:44:51 +01:00
atarikb.h input/atari: Use the correct mouse interrupt hook 2011-05-19 18:19:11 +02:00
atomic.h locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
bitops.h provide arch_test_bit_acquire for architectures that define test_bit 2022-08-27 09:49:54 -07:00
blinken.h m68k/hp300: Export hp300_ledstate 2011-12-10 19:52:48 +01:00
bootinfo.h m68k: generalize uboot command line support 2016-09-26 12:02:59 +10:00
bootstd.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bug.h bug.h: work around GCC PR82365 in BUG() 2018-02-21 15:35:43 -08:00
bugs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bvme6000hw.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cache.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cacheflush_mm.h Add linux/cacheflush.h 2021-11-17 10:36:15 -05:00
cacheflush_no.h m68knommu: use asm-generic/cacheflush.h 2020-06-08 11:05:57 -07:00
cacheflush.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
checksum.h saner calling conventions for csum_and_copy_..._user() 2020-08-20 15:45:15 -04:00
cmpxchg.h locking/arch: Rename all internal __xchg() names to __arch_xchg() 2023-04-29 09:08:44 +02:00
coldfire.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
config.h m68k: Introduce a virtual m68k machine 2022-04-11 11:48:01 +02:00
contregs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
current.h m68k: Implement "current_stack_pointer" 2022-02-26 20:32:03 -08:00
delay.h m68k: Implement ndelay() as an inline function to force type checking/casting 2018-05-22 10:31:52 +02:00
div64.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dma.h PCI: Move isa_dma_bridge_buggy out of asm/dma.h 2022-07-22 17:24:47 -05:00
dsp56k.h
dvma.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
elf.h m68knommu: add definitions to support elf_fdpic program loader 2022-05-16 13:18:30 +10:00
entry.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fbio.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
flat.h binfmt_flat: provide an asm-generic/flat.h 2019-06-24 09:16:47 +10:00
floppy.h floppy: use symbolic register names in the m68k port 2020-05-12 19:34:52 +03:00
fpu.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ftrace.h
hash.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hp300hw.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hwtest.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ide.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
idprom.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
intersil.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
io_mm.h mm: remove xlate_dev_kmem_ptr() 2021-05-07 00:26:34 -07:00
io_no.h m68knommu: fix use of cpu_to_le() on IO access 2020-07-27 12:32:00 +10:00
io.h m68k: Introduce a virtual m68k machine 2022-04-11 11:48:01 +02:00
irq.h m68k: Introduce a virtual m68k machine 2022-04-11 11:48:01 +02:00
irqflags.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kbuild kbuild: link symbol CRCs at final link, removing CONFIG_MODULE_REL_CRCS 2022-05-24 16:33:20 +09:00
kexec.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
kmap.h remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
linkage.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m52xxacr.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m53xxacr.h m68knommu: fix overwriting of bits in ColdFire V3 cache control 2020-07-27 12:32:00 +10:00
m53xxsim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m54xxacr.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m54xxgpt.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m54xxpci.h m68k: Fix typo 'COFNIG_MBAR' 2014-09-29 09:56:19 +10:00
m54xxsim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m520xsim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m523xsim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m525xsim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m527xsim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m528xsim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m5206sim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m5272sim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m5307sim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m5407sim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m5441xsim.h m68k: m5441x: add flexcan support 2021-08-23 08:40:04 +10:00
mac_asc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mac_baboon.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mac_iop.h m68k updates for 4.15 2017-11-13 12:10:24 -08:00
mac_oss.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mac_psc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mac_via.h m68k: mac: Remove unused rbv_set_video_bpp() 2022-11-01 12:17:55 +01:00
machdep.h More power management updates for 5.19-rc1 2022-05-30 11:37:26 -07:00
machines.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
machw.h
macintosh.h m68k: Prevent some compiler warnings in Coldfire builds 2019-08-19 13:24:10 +02:00
macints.h m68k/mac: Clean up unused timer definitions 2019-01-21 10:36:53 +01:00
math-emu.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mc146818rtc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
MC68EZ328.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
MC68VZ328.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
MC68328.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcf8390.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcf_pgalloc.h mm/thp: define default pmd_pgtable() 2021-07-01 11:06:03 -07:00
mcf_pgtable.h m68k/mm: use correct bit number in _PAGE_SWP_EXCLUSIVE comment 2023-04-18 16:29:53 -07:00
mcfclk.h m68k: coldfire: remove private clk_get/clk_put 2021-06-08 17:00:09 +02:00
mcfdma.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcfgpio.h gpiolib: remove asm-generic/gpio.h 2023-03-06 12:33:01 +02:00
mcfintc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcfmmu.h m68k: move coldfire MMU initialization code 2017-11-06 08:25:20 +10:00
mcfpit.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcfqspi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
mcfsim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcfslt.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcftimer.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcfuart.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcfwdebug.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mmu_context.h locking/atomic: m68k: move to ARCH_ATOMIC 2021-05-26 13:20:51 +02:00
mmu.h m68knommu: use asm-generic/mmu.h for nommu setups 2022-05-16 13:18:30 +10:00
module.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
module.lds.h kbuild: preprocess module linker script 2020-09-25 00:36:41 +09:00
motorola_pgalloc.h mm/thp: define default pmd_pgtable() 2021-07-01 11:06:03 -07:00
motorola_pgtable.h mm: remove __HAVE_ARCH_PTE_SWP_EXCLUSIVE 2023-02-02 22:33:11 -08:00
movs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mvme16xhw.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mvme147hw.h m68k: mvme147,mvme16x: Don't wipe PCC timer config bits 2021-04-06 09:33:20 +02:00
natfeat.h m68k: replace gcc specific macros with ones from compiler.h 2017-02-24 17:46:56 -08:00
nettel.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nubus.h m68k: group io mapping definitions and functions 2018-05-28 09:45:26 +10:00
openprom.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
oplib.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
page_mm.h m68k: use asm-generic/memory_model.h for both MMU and !MMU 2023-02-09 16:51:40 -08:00
page_no.h m68k/nommu: add missing definition of ARCH_PFN_OFFSET 2023-02-16 20:43:55 -08:00
page_offset.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
page.h m68k: use asm-generic/memory_model.h for both MMU and !MMU 2023-02-09 16:51:40 -08:00
parport.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci.h PCI: Remove pci_get_legacy_ide_irq() and asm-generic/pci.h 2022-07-22 17:23:45 -05:00
pgalloc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pgtable_mm.h mm: remove kern_addr_valid() completely 2022-11-08 17:37:18 -08:00
pgtable_no.h m68k/mm: remove dummy __swp definitions for nommu 2023-02-02 22:33:07 -08:00
pgtable.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
processor.h kernel: exit: cleanup release_thread() 2022-09-11 21:55:07 -07:00
ptrace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
q40_master.h m68k: group io mapping definitions and functions 2018-05-28 09:45:26 +10:00
q40ints.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
quicc_simple.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
raw_io.h m68k: atari: Make Atari ROM port I/O write macros return void 2022-05-22 12:24:14 +02:00
seccomp.h m68k: Add kernel seccomp support 2023-01-30 16:40:15 +01:00
serial.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
setup.h m68k: Introduce a virtual m68k machine 2022-04-11 11:48:01 +02:00
signal.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
smp.h
string.h m68k: remove broken strcmp implementation 2022-12-21 08:56:43 -08:00
sun3_pgalloc.h mm/thp: define default pmd_pgtable() 2021-07-01 11:06:03 -07:00
sun3_pgtable.h mm: remove __HAVE_ARCH_PTE_SWP_EXCLUSIVE 2023-02-02 22:33:11 -08:00
sun3-head.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sun3ints.h
sun3mmu.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sun3x.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sun3xflop.h m68k: sun3x: Remove unneeded semicolon 2021-04-19 12:11:55 +02:00
sun3xprom.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
switch_to.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
syscall.h m68k: Add kernel seccomp support 2023-01-30 16:40:15 +01:00
thread_info.h m68k: Add kernel seccomp support 2023-01-30 16:40:15 +01:00
timex.h m68k: use fallback for random_get_entropy() instead of zero 2022-05-13 23:59:23 +02:00
tlb.h arch/tlb: Clean up simple architectures 2019-04-03 10:32:54 +02:00
tlbflush.h m68k: Remove set_fs() 2021-09-24 13:35:07 +02:00
traps.h m68k: Leave stack mangling to asm wrapper of sigreturn() 2021-09-24 13:35:03 +02:00
uaccess.h uaccess: generalize access_ok() 2022-02-25 09:36:05 +01:00
ucontext.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
unistd.h m68k: Wire up clone3() syscall 2020-01-12 16:49:20 +01:00
user.h asm/user.h: killed unused macros 2022-01-30 21:17:00 -05:00
vga.h m68k: don't redefine access functions if we have PCI 2018-05-28 09:45:26 +10:00
virt.h m68k: Introduce a virtual m68k machine 2022-04-11 11:48:01 +02:00
virtconvert.h arch/*/: remove CONFIG_VIRT_TO_BUS 2022-06-28 13:20:21 +02:00
vmalloc.h mm/vmalloc: Add empty <asm/vmalloc.h> headers and use them from <linux/vmalloc.h> 2019-12-10 10:12:55 +01:00
zorro.h m68k: group io mapping definitions and functions 2018-05-28 09:45:26 +10:00