Re: `io{re,un}map()` build error in s390 under `!CONFIG_HAS_IOMEM`
"Danilo Krummrich" <[email protected]> Wed, 05 Aug 2026 17:08:54 +0200
| Newsgroups | org.kernel.vger.linux-arch,dev.linux.lists.driver-core,org.kernel.vger.linux-s390,org.kernel.vger.rust-for-linux |
|---|---|
| Message-ID | <[email protected]> |
On Tue Aug 4, 2026 at 2:02 PM CEST, Arnd Bergmann wrote:
> In that case, it would make sense to also change the CONFIG_PCI=3Dy
> version to fail the same way when the address points outside of
> the PCI memory space range. The current version in
> arch/s390/pci/pci.c just falls back to generic_ioremap_prot(),
> which is what I would use here directly:
>
> void __iomem *ioremap_prot(phys_addr_t phys_addr, size_t size,
> pgprot_t prot)
> {
> if (!static_branch_unlikely(&have_mio))
> return (void __iomem *)phys_addr;
> return generic_ioremap_prot(phys_addr, size, prot);
> }
>
> The two methods here (generic_ioremap_prot() and the cast)
> are machine specific to refer to two different ways that PCI
> devices can be accessed if present, but there is no case
> for PCI being unavailable altogether.
I think we agree the correct solution is to fix things in s390. But the
conversation seems to suggest that this rather results into merge window
material, so I will go ahead and pull in the other fixes for -rc7.
Thanks,
Danilo