[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <96b407eb-f9cd-960c-02e5-5e2a4ece33d8@huawei.com>
Date: Wed, 11 Mar 2020 16:12:58 +0000
From: John Garry <john.garry@...wei.com>
To: Arnd Bergmann <arnd@...db.de>
CC: linux-arch <linux-arch@...r.kernel.org>,
Catalin Marinas <catalin.marinas@....com>,
Sinan Kaya <okaya@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Jiaxun Yang <jiaxun.yang@...goat.com>,
"xuwei (O)" <xuwei5@...ilicon.com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Will Deacon <will@...nel.org>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>
Subject: Re: About commit "io: change inX() to have their own IO barrier
overrides"
On 06/03/2020 16:43, John Garry wrote:
> On 06/03/2020 16:29, Arnd Bergmann wrote:
>>> The idea is good, but it would be nice if we just somehow use a common
>>> asm-generic io.h definition directly in logic_pio.c, like:
>>>
>>> asm-generic io.h:
>>>
>>> #ifndef __raw_inw // name?
>>> #define __raw_inw __raw_inw
>>> static inline u16 __raw_inw(unsigned long addr)
>>> {
>>> u16 val;
>>>
>>> __io_pbr();
>>> val = __le16_to_cpu(__raw_readw(addr));
>>> __io_par(val);
>>> return val;
>>> }
>>> #endif
>>>
>>> #include <linux/logic_pio.h>
>>>
>>> #ifndef inw
>>> #define inw __raw_inw
>>> #endif
>> Yes, makes sense. Maybe __arch_inw() then? Not great either, but I think
>> that's better than __raw_inw() because __raw_* would sound like it
>> mirrors __raw_readl() that lacks the barriers and byteswaps.
>
> Right, I had the same concern. And maybe the "arch" prefix is
> misleading. Just __inw could be ok, and hopefully not conflict with the
> arch/arm/mach-* definitions.
>
I think that it hasn't been mentioned already, but it looks like the
outX methods also need the same treatment, from a7851aa54c.
thanks,
John
Powered by blists - more mailing lists