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. Arnd, is this something you could take through your asm-generic tree? (assuming arch maintainers are okay with it) Thanks, Nick Since v1: - Added acks and feedback from various people. - Fixed a nommu build error caught by ktp. - Dropped unicore32. 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 | 9 ++-- 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 | 47 +++------------- 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 | 22 +++----- 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 | 57 +++++++++++++++----- include/asm-generic/nommu_context.h | 19 +++++++ 29 files changed, 166 insertions(+), 298 deletions(-) create mode 100644 include/asm-generic/nommu_context.h -- 2.23.0