[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdUUSMGghDVDpdQygQCv0OWGP-Lwxzy004xRpR6BsZS81A@mail.gmail.com>
Date: Tue, 5 Aug 2014 11:07:55 +0200
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: Sam Ravnborg <sam@...nborg.org>
Cc: Arnd Bergmann <arnd@...db.de>,
Thierry Reding <thierry.reding@...il.com>,
Russell King <linux@....linux.org.uk>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will.deacon@....com>,
Stephen Boyd <sboyd@...eaurora.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
Linux-Arch <linux-arch@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3 1/3] asm-generic/io.h: Implement generic {read,write}s*()
On Sat, Jul 19, 2014 at 11:11 AM, Sam Ravnborg <sam@...nborg.org> wrote:
> On Sat, Jul 19, 2014 at 11:05:33AM +0200, Arnd Bergmann wrote:
>> 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.
>
> I had missed the x86 versions when grepping.
> Hmm, and with the macro tricks they play in asm/io.h this
> file is not at all grep friendly.
>
> So xxx_p is for pause (or something like that).
> This also matches that m68k do some tricks with delay() in the _p variants.
> Thanks for the explanation.
m68k's isa_delay() uses the same approach as x86's slow_down_io(),
but only for Q40/Q60, which has a "real" ISA bus that accepts legacy
ISA expansion cards (http://www.q40.de/).
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists