Re: About commit "io: change inX() to have their own IO barrier overrides"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux