It would be nice to be able to modify mmu_context functions or add a hook without updating all architectures, many of which will be no-ops. The motivation for this series is a change to lazy mmu handling, but this series stands on its own as a good cleanup whether or not we end up making that change. Since v2: - Fixed build failure on arm64 (fingers crossed), did more cross compiling. - Accounted for feedback and added acks (thanks all). Arnd, most of the main archs have acks, and I asked for ack/nack from ones which are missing. We could give those a bit more time then merge. Thanks, Nick Nicholas Piggin (23): asm-generic: add generic MMU versions of mmu context functions alpha: use asm-generic/mmu_context.h for no-op implementations arc: use asm-generic/mmu_context.h for no-op implementations arm: use asm-generic/mmu_context.h for no-op implementations arm64: use asm-generic/mmu_context.h for no-op implementations csky: use asm-generic/mmu_context.h for no-op implementations hexagon: use asm-generic/mmu_context.h for no-op implementations ia64: use asm-generic/mmu_context.h for no-op implementations m68k: use asm-generic/mmu_context.h for no-op implementations microblaze: use asm-generic/mmu_context.h for no-op implementations mips: use asm-generic/mmu_context.h for no-op implementations nds32: use asm-generic/mmu_context.h for no-op implementations nios2: use asm-generic/mmu_context.h for no-op implementations openrisc: use asm-generic/mmu_context.h for no-op implementations parisc: use asm-generic/mmu_context.h for no-op implementations powerpc: use asm-generic/mmu_context.h for no-op implementations riscv: use asm-generic/mmu_context.h for no-op implementations s390: use asm-generic/mmu_context.h for no-op implementations sh: use asm-generic/mmu_context.h for no-op implementations sparc: use asm-generic/mmu_context.h for no-op implementations um: use asm-generic/mmu_context.h for no-op implementations x86: use asm-generic/mmu_context.h for no-op implementations xtensa: use asm-generic/mmu_context.h for no-op implementations arch/alpha/include/asm/mmu_context.h | 12 ++-- arch/arc/include/asm/mmu_context.h | 17 +++--- arch/arm/include/asm/mmu_context.h | 26 +-------- arch/arm64/include/asm/mmu_context.h | 7 +-- arch/c6x/include/asm/mmu_context.h | 6 ++ arch/csky/include/asm/mmu_context.h | 8 +-- arch/hexagon/include/asm/mmu_context.h | 33 ++--------- arch/ia64/include/asm/mmu_context.h | 17 ++---- arch/m68k/include/asm/mmu_context.h | 37 +++---------- arch/microblaze/include/asm/mmu_context.h | 2 +- arch/microblaze/include/asm/mmu_context_mm.h | 8 +-- arch/microblaze/include/asm/processor.h | 3 - arch/mips/include/asm/mmu_context.h | 11 ++-- arch/nds32/include/asm/mmu_context.h | 10 +--- arch/nios2/include/asm/mmu_context.h | 21 ++----- arch/openrisc/include/asm/mmu_context.h | 8 +-- arch/parisc/include/asm/mmu_context.h | 12 ++-- arch/powerpc/include/asm/mmu_context.h | 13 +++-- arch/riscv/include/asm/mmu_context.h | 22 +------- arch/s390/include/asm/mmu_context.h | 9 ++- arch/sh/include/asm/mmu_context.h | 7 +-- arch/sh/include/asm/mmu_context_32.h | 9 --- arch/sparc/include/asm/mmu_context_32.h | 10 ++-- arch/sparc/include/asm/mmu_context_64.h | 10 ++-- arch/um/include/asm/mmu_context.h | 12 ++-- arch/x86/include/asm/mmu_context.h | 6 ++ arch/xtensa/include/asm/mmu_context.h | 11 +--- arch/xtensa/include/asm/nommu_context.h | 26 +-------- include/asm-generic/mmu_context.h | 58 +++++++++++++++----- include/asm-generic/nommu_context.h | 19 +++++++ 30 files changed, 174 insertions(+), 276 deletions(-) create mode 100644 arch/c6x/include/asm/mmu_context.h create mode 100644 include/asm-generic/nommu_context.h -- 2.23.0