> On Oct 28, 2019, at 1:29 AM, Anshuman Khandual
> wrote:
>
> This adds tests which will validate architecture page table helpers and
> other accessors in their compliance with expected generic MM semantics.
> This will help various architectures in validating changes to existing
> page
Use the generic ioremap_prot and iounmap helpers.
Signed-off-by: Christoph Hellwig
---
arch/csky/Kconfig | 1 +
arch/csky/include/asm/io.h | 8 +++---
arch/csky/include/asm/pgtable.h | 4 +++
arch/csky/mm/ioremap.c | 45 -
4 files
No driver that can be used on csky uses ioremap_cache, and this
interface has been deprecated in favor of memremap.
Signed-off-by: Christoph Hellwig
Acked-by: Guo Ren
---
arch/csky/include/asm/io.h | 2 --
arch/csky/mm/ioremap.c | 7 ---
2 files changed, 9 deletions(-)
diff --git
Use the generic ioremap_prot and iounmap helpers.
Note that the io.h include in pgtable.h had to be removed to not create
an include loop. As far as I can tell there was no need for it to
start with.
Signed-off-by: Christoph Hellwig
---
arch/nds32/Kconfig | 1 +
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
---
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
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
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
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
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 |
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_*
__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
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
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
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
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
---
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
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
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
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
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.
21 matches
Mail list logo