Mark Rutland
1da7b4a1aa
BACKPORT: atomics/treewide: Make atomic64_fetch_add_unless() optional
...
Architectures with atomic64_fetch_add_unless() provide a preprocessor
symbol if they do so, and all other architectures have trivial C
implementations of atomic64_add_unless() which are near-identical.
Let's unify the trivial definitions of atomic64_fetch_add_unless() in
<linux/atomic.h>, so that we always have both
atomic64_fetch_add_unless() and atomic64_add_unless() with less
boilerplate code.
This means that atomic64_add_unless() is always implemented in core
code, and the instrumented atomics are updated accordingly.
There should be no functional change as a result of this patch.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/lkml/20180621121321.4761-15-mark.rutland@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sorayukii <sorayukii69@gmail.com>
2026-05-15 17:59:14 +07:00
..
dec
DEC: Limit PMAX memory probing to R3k systems
2022-04-20 09:06:30 +02:00
emma
fw
MIPS: pic32: treat port as signed integer
2022-12-08 11:15:39 +01:00
ip32
lasat
mach-ar7
MIPS: Remove all the uses of custom gpio.h
2015-09-03 12:08:02 +02:00
mach-ath25
MIPS: Remove all the uses of custom gpio.h
2015-09-03 12:08:02 +02:00
mach-ath79
MIPS: ath79: fix ar933x uart parity mode
2019-08-04 09:33:13 +02:00
mach-au1x00
MIPS: Spelling fix lets -> let's
2016-05-28 12:35:09 +02:00
mach-bcm47xx
MIPS: BCM47xx: Fetch board info directly in callback function
2015-11-11 08:36:57 +01:00
mach-bcm63xx
MIPS: BCM63xx: Fix typo
2016-05-28 12:35:06 +02:00
mach-bmips
MIPS: BMIPS: Add BCM6358 support
2016-05-13 14:02:09 +02:00
mach-cavium-octeon
MIPS: Octeon: mangle-port: fix build failure with VDSO code
2016-09-19 17:21:37 +02:00
mach-cobalt
MIPS: Correct `nofpu' non-functionality
2015-04-08 01:09:49 +02:00
mach-db1x00
mach-dec
MIPS: DEC: Update CPU overrides
2015-06-21 21:52:44 +02:00
mach-emma2rh
MIPS: Create a common <asm/mach-generic/war.h>
2015-03-31 11:59:40 +02:00
mach-generic
MIPS: Adjust MIPS64 CAC_BASE to reflect Config.K0
2016-10-06 18:02:35 +02:00
mach-ip22
MIPS: Correct `nofpu' non-functionality
2015-04-08 01:09:49 +02:00
mach-ip27
MIPS: IP27: Remove incorrect `cpu_has_fpu' override
2022-06-14 16:52:36 +02:00
mach-ip28
MIPS: IP28: Fix/clean spaces.h
2014-08-26 02:18:58 +02:00
mach-ip32
MIPS: IP32: Fix typo
2016-05-28 12:35:07 +02:00
mach-jazz
MIPS: DMA: Implement platform hook to perform post-DMA cache flushes.
2015-04-01 17:22:01 +02:00
mach-jz4740
MTD updates for v4.7:
2016-05-24 11:00:20 -07:00
mach-lantiq
MIPS: Spelling fix lets -> let's
2016-05-28 12:35:09 +02:00
mach-lasat
MIPS: Create a common <asm/mach-generic/war.h>
2015-03-31 11:59:40 +02:00
mach-loongson32
MIPS: Add RTC support for Loongson1C board
2016-10-04 16:13:57 +02:00
mach-loongson64
MIPS: Loongson-3: Fix BRIDGE irq delivery problem
2018-11-21 09:25:59 +01:00
mach-malta
MIPS: Add definitions of SegCtl registers and use them
2016-05-28 12:35:04 +02:00
mach-netlogic
MIPS: Netlogic: Move cores per node out of multi-node.h
2015-04-01 17:21:50 +02:00
mach-paravirt
MIPS: paravirt: Fix undefined reference to smp_bootstrap
2016-09-13 16:45:15 +02:00
mach-pic32
MIPS: Add support for PIC32MZDA platform
2016-01-24 02:53:28 +01:00
mach-pistachio
MIPS: Remove all the uses of custom gpio.h
2015-09-03 12:08:02 +02:00
mach-pmcs-msp71xx
MIPS: asm: Rename GCC_OFF12_ASM to GCC_OFF_SMALL_ASM
2015-02-17 15:37:21 +00:00
mach-pnx833x
MIPS: Create a common <asm/mach-generic/war.h>
2015-03-31 11:59:40 +02:00
mach-ralink
mips: mt7620: fallback to SDRAM when syscfg0 does not have a valid value for the memory type
2016-05-13 15:39:43 +02:00
mach-rc32434
MIPS: Remove all the uses of custom gpio.h
2015-09-03 12:08:02 +02:00
mach-rm
MIPS: Correct `nofpu' non-functionality
2015-04-08 01:09:49 +02:00
mach-sibyte
MIPS: SB1: Remove support for Pass 1 parts.
2015-07-14 21:47:34 +02:00
mach-tx39xx
MIPS: Create a common <asm/mach-generic/war.h>
2015-03-31 11:59:40 +02:00
mach-tx49xx
MIPS: Replace use of phys_t with phys_addr_t.
2014-11-24 22:47:31 +01:00
mach-vr41xx
MIPS: Create a common <asm/mach-generic/war.h>
2015-03-31 11:59:40 +02:00
mach-xilfpga
MIPS: xilfpga: Add mipsfpga platform code
2015-11-11 08:38:44 +01:00
mips-boards
MIPS: SEAD3: Probe EHCI controller using DT
2016-10-05 01:31:20 +02:00
netlogic
MIPS: netlogic: xlr: Remove erroneous check in nlm_fmn_send()
2019-07-10 09:55:44 +02:00
octeon
MIPS: Octeon: Fix build errors using clang
2022-01-27 08:47:39 +01:00
pci
MIPS: Fix misspellings in comments.
2016-04-03 12:32:09 +02:00
sgi
MIPS: IP22/IP28: Fix typo
2016-05-28 12:35:08 +02:00
sibyte
MIPS: BCM1480: bcm1480_regs.h: strip redundant comments
2016-05-13 14:02:13 +02:00
sn
MIPS: Fix misspellings in comments.
2016-04-03 12:32:09 +02:00
txx9
vr41xx
xtalk
MIPS: Xtalk: Update xwidget.h with known Xtalk device numbers
2015-06-21 21:54:21 +02:00
abi.h
MIPS: Initial implementation of a VDSO
2015-11-11 08:36:36 +01:00
addrspace.h
MIPS: Adjust MIPS64 CAC_BASE to reflect Config.K0
2016-10-06 18:02:35 +02:00
amon.h
arch_hweight.h
asm-eva.h
MIPS: asm: asm-eva: Introduce kernel load/store variants
2015-04-10 15:41:43 +02:00
asm-offsets.h
asm.h
MIPS: End asm function prologue macros with .insn
2017-11-21 09:23:27 +01:00
asmmacro-32.h
Merge branch '4.1-fp' into mips-for-linux-next
2015-04-13 16:01:37 +02:00
asmmacro-64.h
asmmacro.h
MIPS: Fix odd fp register warnings with MIPS64r2
2017-11-30 08:39:02 +00:00
atomic.h
BACKPORT: atomics/treewide: Make atomic64_fetch_add_unless() optional
2026-05-15 17:59:14 +07:00
barrier.h
MIPS: Barrier: Add definitions of SYNC stype values
2016-10-04 16:13:57 +02:00
bcache.h
MIPS: Introduce API for enabling & disabling L2 prefetch
2015-10-26 09:49:41 +01:00
bitops.h
MIPS: Move definitions for 32/64-bit agonstic inline assembler to new file.
2016-05-09 12:00:05 +02:00
bitrev.h
MIPS: Implement __arch_bitrev* using bitswap for MIPSr6
2016-05-13 14:02:17 +02:00
bmips-spaces.h
MIPS: BMIPS: Define BMIPS_FIXADDR_TOP in asm/bmips-spaces.h
2015-06-21 21:53:30 +02:00
bmips.h
MIPS: bmips: mark exception vectors as char arrays
2019-11-10 11:23:21 +01:00
bootinfo.h
MIPS: store the appended dtb address in a variable
2016-08-02 14:00:16 +02:00
branch.h
MIPS: Fix unaligned PC interpretation in `compute_return_epc'
2017-07-27 15:08:04 -07:00
break.h
bug.h
bugs.h
cache.h
cacheflush.h
MIPS: c-r4k: Split user/kernel flush_icache_range()
2016-10-04 16:13:57 +02:00
cacheops.h
MIPS: Loongson: Add Loongson-3A R2 basic support
2016-05-13 14:02:14 +02:00
cdmm.h
MIPS: CDMM: Add builtin_mips_cdmm_driver() macro
2015-11-05 11:15:41 +01:00
cevt-r4k.h
MIPS: cevt-r4k: Migrate to new 'set-state' interface
2015-09-03 12:07:52 +02:00
checksum.h
MIPS: Fix special case in 64 bit IP checksumming.
2017-03-12 06:41:39 +01:00
clock.h
MIPS: Remove declaration of obsolete arch_init_clk_ops()
2014-11-24 07:45:37 +01:00
clocksource.h
MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime()
2015-11-11 08:36:41 +01:00
cmp.h
MIPS: SMP: Remove plat_smp_ops cpus_done method.
2014-05-27 11:06:42 +02:00
cmpxchg.h
arch: Remove __ARCH_HAVE_CMPXCHG
2015-05-13 10:55:42 +02:00
compat-signal.h
compat.h
MIPS: Clean up compat_siginfo_t
2015-11-12 11:35:47 +01:00
compiler.h
MIPS: Workaround GCC __builtin_unreachable reordering bug
2019-07-10 09:55:45 +02:00
cop2.h
MIPS: Prevent compiler warning from cop2_{save,restore}
2014-10-23 19:58:13 +02:00
cpu-features.h
lib/GCD.c: use binary GCD algorithm instead of Euclidean
2016-05-20 17:58:30 -07:00
cpu-info.h
MIPS: Add probing & defs for VZ & guest features
2016-05-13 15:30:25 +02:00
cpu-type.h
MIPS: Add the missing 'CPU_1074K' into __get_cpu_type()
2020-10-01 20:40:18 +02:00
cpu.h
MIPS: Add CPU support for Loongson1C
2016-10-04 16:13:57 +02:00
debug.h
MIPS: Declare mips_debugfs_dir in a header
2015-10-26 09:49:42 +01:00
delay.h
device.h
MIPS: Support per-device DMA coherence
2016-10-06 18:02:01 +02:00
div64.h
MIPS: Avoid handcoded DIVU in `__div64_32' altogether
2021-05-22 10:40:33 +02:00
dma-coherence.h
MIPS: Support per-device DMA coherence
2016-10-06 18:02:01 +02:00
dma-mapping.h
MIPS: Support per-device DMA coherence
2016-10-06 18:02:01 +02:00
dma.h
ds1287.h
dsemul.h
MIPS: Use per-mm page to execute branch delay slot instructions
2016-08-02 09:28:53 +02:00
dsp.h
edac.h
EDAC: Cleanup atomic_scrub mess
2015-05-28 15:31:53 +02:00
elf.h
MIPS: non-exec stack & heap when non-exec PT_GNU_STACK is present
2016-08-02 09:29:27 +02:00
errno.h
eva.h
MIPS: EVA: Add new EVA header
2014-08-26 02:18:56 +02:00
exec.h
extable.h
mips: separate extable.h, switch module.h to it
2016-10-05 18:36:18 -04:00
fb.h
fixmap.h
MIPS: MT: Remove SMTC support
2014-05-24 00:07:01 +02:00
floppy.h
fpregdef.h
MIPS: Fix build with binutils 2.24.51+
2014-11-07 15:07:36 +01:00
fpu.h
MIPS: Fix FPU disable with preemption
2016-02-01 23:36:38 +01:00
fpu_emulator.h
MIPS: Fix FCSR Cause bit handling for correct SIGFPE issue
2016-11-04 01:28:41 +01:00
ftrace.h
MIPS: ftrace: Fix a microMIPS build problem
2014-10-24 02:38:33 +02:00
futex.h
futex: Remove duplicated code and fix undefined behaviour
2018-05-19 10:27:00 +02:00
gio_device.h
MIPS: ip22-gio: Remove legacy suspend/resume support
2015-02-20 13:30:55 +01:00
gt64120.h
hardirq.h
hazards.h
MIPS: hazards.h: Fix typo
2016-05-28 12:35:06 +02:00
highmem.h
MIPS: highmem: Turn flush_cache_kmaps into a no-op.
2016-05-13 14:01:38 +02:00
hpet.h
MIPS: Loongson-3: Add RS780/SBX00 HPET support
2014-11-24 07:45:02 +01:00
hugetlb.h
hugetlb: clear huge pte during flush function on mips platform
2021-07-20 16:21:06 +02:00
hw_irq.h
i8259.h
irqchip: i8259: Remove unused i8259A_irq_pending
2016-10-06 17:31:00 +02:00
ide.h
idle.h
cpuidle: Invert CPUIDLE_FLAG_TIME_VALID logic
2014-11-12 21:17:27 +01:00
inst.h
io.h
mips: avoid explicit UB in assignment of mips_io_port_base
2020-01-29 10:24:30 +01:00
irq.h
MIPS: Fix minimum alignment requirement of IRQ stack
2017-10-21 17:21:33 +02:00
irq_cpu.h
MIPS: Rename mips_cpu_intc_init() -> mips_cpu_irq_of_init()
2014-11-24 07:44:52 +01:00
irq_gt641xx.h
irq_regs.h
MIPS: Select CONFIG_HANDLE_DOMAIN_IRQ and make it work.
2016-05-13 14:01:40 +02:00
irqflags.h
MIPS: Loongson-3: Introduce CONFIG_LOONGSON3_ENHANCEMENT
2016-05-13 14:02:15 +02:00
isadep.h
jazz.h
jazzdma.h
jump_label.h
MIPS: Fix kernel crash for R6 in jump label branch function
2019-03-27 14:13:02 +09:00
Kbuild
MIPS: Use generic clkdev.h header
2016-05-13 14:01:58 +02:00
kdebug.h
MIPS: Add uprobes support.
2015-09-03 12:08:05 +02:00
kexec.h
MIPS: kexec: Relax memory restriction
2019-11-25 09:52:47 +01:00
kgdb.h
MIPS: Get rid of 'kgdb_early_setup' cruft.
2015-06-21 21:54:10 +02:00
kmap_types.h
kprobes.h
MIPS: kprobes: flush_insn_slot should flush only if probe initialised
2018-04-13 19:48:24 +02:00
kvm_host.h
KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits
2020-06-20 10:24:12 +02:00
kvm_para.h
MIPS: Add functions for hypervisor call
2014-05-30 21:01:11 +02:00
linkage.h
MIPS: Remove "__weak" definition from arch-specific linkage.h
2015-09-03 12:07:39 +02:00
llsc.h
MIPS: Move definitions for 32/64-bit agonstic inline assembler to new file.
2016-05-09 12:00:05 +02:00
local.h
MIPS: asm: local: Set the appropriate ISA level for MIPS R6
2015-02-17 15:37:24 +00:00
m48t37.h
maar.h
MIPS: Initialise MAARs on secondary CPUs
2015-09-27 14:15:26 +02:00
machine.h
MIPS: generic: Fix machine compatible matching
2018-05-30 07:50:24 +02:00
mc146818-time.h
mc146818rtc.h
mips-cm.h
MIPS: traps: Ensure L1 & L2 ECC checking match for CM3 systems
2017-11-21 09:23:28 +01:00
mips-cpc.h
MIPS: CPC: Add start, stop and running CM3 CPC registers
2016-05-13 14:01:48 +02:00
mips-r2-to-r6-emul.h
MIPS: traps: Correct the SIGTRAP debug ABI in do_watch' and do_trap_or_bp'
2016-04-03 12:32:09 +02:00
mips_machine.h
mips_mt.h
MIPS: MT: Fix typo
2016-05-28 12:35:07 +02:00
mipsmtregs.h
MIPS: MT: define write_c0_tchalt macro
2014-05-28 16:20:22 +01:00
mipsprom.h
mipsregs.h
Revert "MIPS: BCM47XX: Enable 74K Core ExternalSync for PCIe erratum"
2018-09-05 09:20:03 +02:00
mmu.h
MIPS: Use per-mm page to execute branch delay slot instructions
2016-08-02 09:28:53 +02:00
mmu_context.h
MIPS: Use per-mm page to execute branch delay slot instructions
2016-08-02 09:28:53 +02:00
mmzone.h
module.h
mips: separate extable.h, switch module.h to it
2016-10-05 18:36:18 -04:00
msa.h
MIPS: Fix MSA asm warnings in control reg accessors
2016-07-24 12:45:00 +02:00
msc01_ic.h
nile4.h
mips: Update the email address of Geert Uytterhoeven
2014-06-02 16:34:41 +02:00
paccess.h
MIPS: Apply `.insn' to fixup labels throughout
2014-11-24 07:45:36 +01:00
page.h
treewide: replace config_enabled() with IS_ENABLED() (2nd round)
2016-08-26 17:39:35 -07:00
pci.h
MIPS: PCI: Introduce CONFIG_PCI_DRIVERS_LEGACY
2016-10-06 18:00:05 +02:00
perf_event.h
pgalloc.h
Revert "MIPS: add PMD table accounting into MIPS'pmd_alloc_one"
2021-07-28 09:14:27 +02:00
pgtable-32.h
arch: pgtable: define MAX_POSSIBLE_PHYSMEM_BITS where needed
2021-11-12 13:18:01 +01:00
pgtable-64.h
MIPS: Ensure pmd_present() returns false after pmd_mknotpresent()
2019-01-09 16:16:45 +01:00
pgtable-bits.h
MIPS: Allow RIXI to be used on non-R2 or R6 cores
2016-05-13 15:30:25 +02:00
pgtable.h
mm: move phys_mem_access_prot_allowed() declaration to pgtable.h
2016-10-07 18:46:29 -07:00
pm-cps.h
MIPS: pm-cps: Add MIPSr6 CPU support
2016-10-04 16:13:57 +02:00
pm.h
Merge branch 'wip-mips-pm' of https://github.com/paulburton/linux into mips-for-linux-next
2014-05-29 15:08:23 +02:00
pmon.h
prefetch.h
processor.h
MIPS: Correct the 64-bit DSP accumulator register size
2018-09-05 09:20:10 +02:00
prom.h
MIPS: prepare for user enabling of CONFIG_OF
2015-06-21 21:54:14 +02:00
ptrace.h
MIPS: ptrace: Fix regs_return_value for kernel context
2016-10-12 14:34:45 +02:00
r4k-timer.h
r4kcache.h
MIPS: c-r4k: Fix protected_writeback_scache_line for EVA
2016-07-29 10:19:29 +02:00
reboot.h
reg.h
MIPS: asm/reg.h: Move to uapi
2014-08-02 00:06:38 +02:00
regdef.h
rtlx.h
seccomp.h
tree-wide: replace config_enabled() with IS_ENABLED()
2016-08-04 08:50:07 -04:00
setup.h
MIPS: fix fortify panic when copying asm exception handlers
2022-04-20 09:06:42 +02:00
sgialib.h
MIPS: ARC: Add declarations for a few missing ARC firmware functions.
2015-01-13 16:04:28 +01:00
sgiarcs.h
MIPS: Fix misspellings in comments.
2016-04-03 12:32:09 +02:00
shmparam.h
sigcontext.h
Revert "MIPS: Save/restore MSA context around signals"
2014-06-26 10:48:18 +01:00
signal.h
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
2016-08-06 09:13:11 -04:00
sim.h
smp-cps.h
MIPS: smp-cps: Pull boot config retrieval out of mips_cps_boot_vpes
2016-05-13 14:01:50 +02:00
smp-ops.h
MIPS: Make smp CMP, CPS and MT use the new generic IPI functions
2016-02-25 10:56:58 +01:00
smp.h
MIPS: VDSO: Prevent use of smp_processor_id()
2019-09-21 07:14:05 +02:00
sni.h
socket.h
sparsemem.h
MIPS: Add NUMA support for Loongson-3
2014-07-30 21:46:19 +02:00
spinlock.h
MIPS: End spinlocks with .insn
2017-04-12 12:41:14 +02:00
spinlock_types.h
spram.h
MIPS: asm: spram: Add new symbol for MIPS scratch pad storage
2015-02-17 15:37:20 +00:00
stackframe.h
MIPS: Only change $28 to thread_info if coming from user mode
2017-04-18 07:11:48 +02:00
stackprotector.h
stacktrace.h
string.h
switch_to.h
MIPS: Fix FCSR Cause bit handling for correct SIGFPE issue
2016-11-04 01:28:41 +01:00
syscall.h
mips: fix mips_get_syscall_arg o32 check
2018-12-08 13:05:06 +01:00
termios.h
thread_info.h
BACKPORT: Construct init thread stack in the linker script rather than by union
2026-05-15 17:59:01 +07:00
time.h
MIPS: Remove "weak" from get_c0_compare_int() declaration
2015-09-03 12:07:38 +02:00
timex.h
mips: use fallback for random_get_entropy() instead of just c0 random
2022-06-25 11:45:13 +02:00
tlb.h
MIPS: Mask out limit field when calculating wired entry count
2016-11-24 16:44:16 +01:00
tlbdebug.h
MIPS: Refactor dumping of TLB registers for r3k/r4k
2015-09-03 12:07:45 +02:00
tlbflush.h
tlbmisc.h
topology.h
sched/topology: Rename topology_thread_cpumask() to topology_sibling_cpumask()
2015-05-27 15:22:15 +02:00
traps.h
txx9irq.h
MIPS/IRQCHIP: Move irq_chip from arch/mips to drivers/irqchip.
2015-06-21 21:52:50 +02:00
txx9pio.h
txx9tmr.h
types.h
MIPS: Remove now unused definition of phys_t.
2014-11-24 22:47:31 +01:00
uaccess.h
MIPS: uaccess: Add micromips clobbers to bzero invocation
2018-04-24 09:34:16 +02:00
uasm.h
MIPS: uasm: Add MTHI/MTLO instructions
2016-07-05 16:08:35 +02:00
unaligned.h
unistd.h
sys_sgetmask/sys_ssetmask: add CONFIG_SGETMASK_SYSCALL
2014-06-04 16:54:14 -07:00
uprobes.h
uprobes: remove function declarations from arch/{mips,s390}
2016-10-07 18:46:30 -07:00
vdso.h
MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime()
2015-11-11 08:36:41 +01:00
vga.h
vpe.h
MIPS: MT: Remove "weak" from vpe_run() declaration
2015-08-26 15:23:40 +02:00
war.h
watch.h
MIPS: Fix watchpoint restoration
2016-05-09 12:00:02 +02:00
wbflush.h