[PATCH 18/21] riscv: use the generic ioremap code

2019-10-28 Thread Christoph Hellwig
Use the generic ioremap code instead of providing a local version. Note that this relies on the asm-generic no-op definition of pgprot_noncached. Signed-off-by: Christoph Hellwig Reviewed-by: Paul Walmsley Tested-by: Paul Walmsley # rv32, rv64 boot Acked-by: Paul Walmsley # arch/riscv --- arc

[PATCH 17/21] lib: provide a simple generic ioremap implementation

2019-10-28 Thread Christoph Hellwig
A lot of architectures reuse the same simple ioremap implementation, so start lifting the most simple variant to lib/ioremap.c. It provides ioremap_prot and iounmap, plus a default ioremap that uses prot_noncached, although that can be overridden by asm/io.h. Signed-off-by: Christoph Hellwig ---

[PATCH 16/21] sh: remove __iounmap

2019-10-28 Thread Christoph Hellwig
No need to indirect iounmap for sh. Signed-off-by: Christoph Hellwig --- arch/sh/include/asm/io.h | 9 ++--- arch/sh/mm/ioremap.c | 4 ++-- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h index ac0561960c52..1495489225ac

[PATCH 15/21] nios2: remove __iounmap

2019-10-28 Thread Christoph Hellwig
No need to indirect iounmap for nios2. Signed-off-by: Christoph Hellwig --- arch/nios2/include/asm/io.h | 7 +-- arch/nios2/mm/ioremap.c | 6 +++--- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/arch/nios2/include/asm/io.h b/arch/nios2/include/asm/io.h index d108937c321e

[PATCH 14/21] hexagon: remove __iounmap

2019-10-28 Thread Christoph Hellwig
No need to indirect iounmap for hexagon. Signed-off-by: Christoph Hellwig --- arch/hexagon/include/asm/io.h | 7 +-- arch/hexagon/kernel/hexagon_ksyms.c | 2 +- arch/hexagon/mm/ioremap.c | 2 +- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/arch/hexagon/inclu

[PATCH 13/21] m68k: rename __iounmap and mark it static

2019-10-28 Thread Christoph Hellwig
m68k uses __iounmap as the name for an internal helper that is only used for some CPU types. Mark it static, give it a better name and move it around a bit to avoid a forward declaration. Signed-off-by: Christoph Hellwig --- arch/m68k/include/asm/kmap.h | 1 - arch/m68k/mm/kmap.c | 1

[PATCH 12/21] arch: rely on asm-generic/io.h for default ioremap_* definitions

2019-10-28 Thread Christoph Hellwig
Various architectures that use asm-generic/io.h still defined their own default versions of ioremap_nocache, ioremap_wt and ioremap_wc that point back to plain ioremap directly or indirectly. Remove these definitions and rely on asm-generic/io.h instead. For this to work the backup ioremap_* defi

[PATCH 11/21] asm-generic: don't provide ioremap for CONFIG_MMU

2019-10-28 Thread Christoph Hellwig
All MMU-enabled ports have a non-trivial ioremap and should thus provide the prototype for their implementation instead of providing a generic one unless a different symbol is not defined. Note that this only affects sparc32 nds32 as all others do provide their own version. Also update the kernel

[PATCH 07/21] parisc: remove __ioremap

2019-10-28 Thread Christoph Hellwig
__ioremap is always called with the _PAGE_NO_CACHE, so fold the whole thing and rename it to ioremap. This also allows to remove the special EISA quirk to force _PAGE_NO_CACHE. Signed-off-by: Christoph Hellwig --- arch/parisc/include/asm/io.h | 11 +-- arch/parisc/mm/ioremap.c | 10

[PATCH 09/21] xtensa: clean up ioremap

2019-10-28 Thread Christoph Hellwig
Use ioremap as the main implemented function, and defined ioremap_nocache to it as a deprecated alias. Signed-off-by: Christoph Hellwig --- arch/xtensa/include/asm/io.h | 14 -- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/arch/xtensa/include/asm/io.h b/arch/xtensa/

[PATCH 10/21] asm-generic: ioremap_uc should behave the same with and without MMU

2019-10-28 Thread Christoph Hellwig
Whatever reason there is for the existence of ioremap_uc, and the fact that it returns NULL by default on architectures with an MMU applies equally to nommu architectures, so don't provide different defaults. In practice the difference is meaningless as the only portable driver that uses ioremap_u

[PATCH 08/21] x86: Clean up ioremap()

2019-10-28 Thread Christoph Hellwig
Use ioremap() as the main implemented function, and defines ioremap_nocache() as a deprecated alias of ioremap() in preparation of removing ioremap_nocache() entirely. Signed-off-by: Christoph Hellwig --- arch/x86/include/asm/io.h | 8 ++-- arch/x86/mm/ioremap.c | 8 arch/x86/mm

[PATCH 06/21] nios2: remove __ioremap

2019-10-28 Thread Christoph Hellwig
The cacheflag argument to __ioremap is always 0, so just implement ioremap directly. Signed-off-by: Christoph Hellwig --- arch/nios2/include/asm/io.h | 20 arch/nios2/mm/ioremap.c | 17 +++-- 2 files changed, 7 insertions(+), 30 deletions(-) diff --git a/arc

[PATCH 05/21] alpha: remove the unused __ioremap wrapper

2019-10-28 Thread Christoph Hellwig
No need for the additional namespace pollution. Signed-off-by: Christoph Hellwig --- arch/alpha/include/asm/io.h | 6 -- 1 file changed, 6 deletions(-) diff --git a/arch/alpha/include/asm/io.h b/arch/alpha/include/asm/io.h index af2c0063dc75..1989b946a28d 100644 --- a/arch/alpha/include/asm

[PATCH 04/21] hexagon: clean up ioremap

2019-10-28 Thread Christoph Hellwig
Use ioremap as the main implemented function, and defined ioremap_nocache to it as a deprecated alias. Signed-off-by: Christoph Hellwig --- arch/hexagon/include/asm/io.h | 11 ++- arch/hexagon/kernel/hexagon_ksyms.c | 2 +- arch/hexagon/mm/ioremap.c | 2 +- 3 files chan

[PATCH 03/21] ia64: rename ioremap_nocache to ioremap_uc

2019-10-28 Thread Christoph Hellwig
On ia64 ioremap_nocache fails if attributes don't match. Not other architectures does this, and we plan to get rid of ioremap_nocache. So get rid of the special semantics and define ioremap_nocache in terms of ioremap as no portable driver could rely on the behavior anyway. However x86 implements

[PATCH 02/21] unicore32: remove ioremap_cached

2019-10-28 Thread Christoph Hellwig
No users of ioremap_cached are left, remove it. Signed-off-by: Christoph Hellwig --- arch/unicore32/include/asm/io.h | 4 +--- arch/unicore32/mm/ioremap.c | 8 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/arch/unicore32/include/asm/io.h b/arch/unicore32/include/asm

[PATCH 01/21] arm: remove ioremap_cached

2019-10-28 Thread Christoph Hellwig
No users of ioremap_cached are left, remove it. Signed-off-by: Christoph Hellwig --- arch/arm/include/asm/io.h | 6 -- arch/arm/mm/ioremap.c | 4 arch/arm/mm/mmu.c | 2 +- arch/arm/mm/nommu.c | 4 4 files changed, 1 insertion(+), 15 deletions(-) diff --git a/arch

generic ioremap (and lots of cleanups) v3

2019-10-28 Thread Christoph Hellwig
Hi all, the last patches in this series add a generic ioremap implementation, and switch our 3 most recent and thus most tidy architeture ports over to use it. With a little work and an additional arch hook or two the implementation should be able to eventually cover more than half of our ports.

Re: [GIT PULL] ARC updates for 5.4-rc6

2019-10-28 Thread pr-tracker-bot
The pull request you sent on Mon, 28 Oct 2019 17:13:18 +: > git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git/ tags/arc-5.4-rc6 has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/8005803a2ca0af49f36f6e9329b5ecda3df27347 Thank you! -- Deet-doot-dot, I am a

[GIT PULL] ARC updates for 5.4-rc6

2019-10-28 Thread Vineet Gupta
Hi Linus, Small fixes for ARC. Please pull. Thx, -Vineet -> The following changes since commit 7d194c2100ad2a6dded545887d02754948ca5241: Linux 5.4-rc4 (2019-10-20 15:56:22 -0400) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/

Re: [PATCH 08/21] x86: clean up ioremap

2019-10-28 Thread Christoph Hellwig
On Mon, Oct 21, 2019 at 10:23:03AM +0200, Thomas Gleixner wrote: > Should this go with your larger series or can this be picked up > independently? This should all go together. ___ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://li

[PATCH v14 02/22] arc: mm: Add p?d_leaf() definitions

2019-10-28 Thread Steven Price
walk_page_range() is going to be allowed to walk page tables other than those of user space. For this it needs to know when it has reached a 'leaf' entry in the page tables. This information will be provided by the p?d_leaf() functions/macros. For arc, we only have two levels, so only pmd_leaf() i