Re: [PATCH v3 1/3] asm-generic/io.h: Implement generic {read,write}s*()

From: Arnd Bergmann
Date: Sat Jul 19 2014 - 05:06:21 EST


On Saturday 19 July 2014 10:41:52 Sam Ravnborg wrote:
> > >
> > > This set:
> > > #define inb_p(addr) inb(addr)
> > > #define inw_p(addr) inw(addr)
> > > #define inl_p(addr) inl(addr)
> > > #define outb_p(x, addr) outb((x), (addr))
> > > #define outw_p(x, addr) outw((x), (addr))
> > > #define outl_p(x, addr) outl((x), (addr))
> > >
> > > Should have a comment that say they are deprecated.
> > > Especially the "b" variants still have many users.
> >
> > Are they? I don't remember ever seeing a reason to deprecate
> > them. We could perhaps enclose them in #ifdef CONFIG_ISA, but
> > there may also be some drivers that use the same code for ISA
> > and PCI, and it doesn't really hurt on PCI.
>
> It is my understanding that inl and inl_p are the same these days.
> A quick grep indicate that only m68k define the
> _p variant different from the other.
> But I failed to find and description of the difference between the
> two which is why I assumed they were identical and thus no need for both.

I don't know why m68k needs it, it's really an x86-specific
thing, see slow_down_io() in arch/x86/include/asm/io.h.

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/