Re: [PATCH 3/3] arm64: Use include/asm-generic/io.h

From: Arnd Bergmann
Date: Thu Jul 10 2014 - 09:15:03 EST


On Thursday 10 July 2014, Catalin Marinas wrote:
> > @@ -235,8 +155,7 @@ extern void __iomem *ioremap_cache(phys_addr_t phys_addr, size_t size);
> > #define ioremap_wc(addr, size) __ioremap((addr), (size), __pgprot(PROT_NORMAL_NC))
> > #define iounmap __iounmap
> >
> > -#define ARCH_HAS_IOREMAP_WC
> > -#include <asm-generic/iomap.h>
> > +#include <asm-generic/io.h>
>
> We don't currently have PCIe support in mainline for arm64 but what I
> had in mind with the generic iomap is that functions like ioread32_rep
> first check whether the address is an IO address or a memory one and
> calls the insl or mmio_insl accordingly. With your generic
> implementation, this check disappears.
>
> The question is whether this functionality would still be needed.

I think it's much better not to have that check on architectures that have a memory
mapped I/O space like arm64. The main advantage is that ioread32() is just a trivial
alias for readl(). The only reason for needing generic_iomap is architectures that
do something very different for I/O ports.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/