s390: Remove ioremap_wt() and pgprot_writethrough()
authorNiklas Schnelle <schnelle@linux.ibm.com>
Fri, 21 Feb 2025 11:51:48 +0000 (12:51 +0100)
committerVasily Gorbik <gor@linux.ibm.com>
Tue, 11 Mar 2025 14:28:58 +0000 (15:28 +0100)
commitc94bff63e49302d4ce36502a85a2710a67332a4f
treea95842c06973cd6b8fd1ed4a4cc866f90b77a585
parent08d95a12cd28009c2b4673f5f2e2cf65bc8d3402
s390: Remove ioremap_wt() and pgprot_writethrough()

It turns out that while s390 architecture calls its memory-I/O mapping
variants write-through and write-back the implementation of ioremap_wt()
and pgprot_writethrough() does not match Linux notion of ioremap_wt().

In particular Linux expects ioremap_wt() to be weaker still than
ioremap_wc(), allowing not just gathering and re-ordering but also reads
to be served from cache. Instead s390's implementation is equivalent to
normal ioremap() while its ioremap_wc() allows re-ordering.

Note that there are no known users of ioremap_wt() on s390 and the
resulting behavior is in line with asm-generic defining ioremap_wt() as
ioremap(), if undefined, so no breakage is expected.

As s390 does not have a mapping type matching the Linux notion of
ioremap_wt() and pgprot_writethrough(), simply drop them and rely on the
asm-generic fallbacks instead.

Fixes: b02002cc4c0f ("s390/pci: Implement ioremap_wc/prot() with MIO")
Fixes: b43b3fff042d ("s390: mm: convert to GENERIC_IOREMAP")
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/include/asm/io.h
arch/s390/include/asm/pgtable.h
arch/s390/mm/pgtable.c