As part of adding STRICT_DEVMEM support to the RISC-V port, Zong provided an implementation of devmem_is_allowed() that's exactly the same as the version in a handful of other ports. Rather than duplicate code, I've put a generic version of this in lib/ and used it for the RISC-V port. I've put those first two patches on riscv/for-next, which I'm targeting for 5.9 (though this is the first version, so they're unreviewed). The other three obviously depend on the first one going on, but I'm not putting them in the RISC-V tree as I don't want to step on anyone's toes. If you want me to take yours along with the others then please say something, as otherwise I'll probably forget. I've put the whole thing at ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/palmer/linux.git -b generic-devmem . Changes since v1 [<20200709200552.1910298-1-palmer@xxxxxxxxxxx]: * Don't have GENERIC_LIB_DEVMEM_IS_ALLOWED select ARCH_HAS_DEVMEM_IS_ALLOWED, instead just adapt the users. * Remove ARCH_HAS_DEVMEM_IS_ALLOWED from the arch Kconfigs, as I forgot to do so the first time.