Messages in this thread | | | Subject | Re: About commit "io: change inX() to have their own IO barrier overrides" | From | John Garry <> | Date | Wed, 11 Mar 2020 16:12:58 +0000 |
| |
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
| |