asm-generic/mmiowb: Add generic implementation of mmiowb() tracking
authorWill Deacon <will.deacon@arm.com>
Fri, 22 Feb 2019 12:48:44 +0000 (12:48 +0000)
committerWill Deacon <will.deacon@arm.com>
Mon, 8 Apr 2019 10:59:39 +0000 (11:59 +0100)
commitd1be6a28b13ce6d1bc42bf9b6a9454c65839225b
tree320fd6244998529491991e7012ebfc5dd9709d4a
parent4614bbdee35706ed77c130d23f12e21479b670ff
asm-generic/mmiowb: Add generic implementation of mmiowb() tracking

In preparation for removing all explicit mmiowb() calls from driver
code, implement a tracking system in asm-generic based loosely on the
PowerPC implementation. This allows architectures with a non-empty
mmiowb() definition to have the barrier automatically inserted in
spin_unlock() following a critical section containing an I/O write.

Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
include/asm-generic/mmiowb.h [new file with mode: 0644]
include/asm-generic/mmiowb_types.h [new file with mode: 0644]
kernel/Kconfig.locks
kernel/locking/spinlock.c