[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <15e7158d-184d-9591-89a6-cd6b10ef054d@huawei.com>
Date: Fri, 6 Mar 2020 16:43:46 +0000
From: John Garry <john.garry@...wei.com>
To: Arnd Bergmann <arnd@...db.de>
CC: Sinan Kaya <okaya@...nel.org>, "xuwei (O)" <xuwei5@...ilicon.com>,
"Bjorn Helgaas" <bhelgaas@...gle.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Jiaxun Yang <jiaxun.yang@...goat.com>,
linux-arch <linux-arch@...r.kernel.org>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
Will Deacon <will@...nel.org>,
Catalin Marinas <catalin.marinas@....com>
Subject: Re: About commit "io: change inX() to have their own IO barrier
overrides"
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.
Thanks,
John
Powered by blists - more mailing lists