On Mon, Jul 31, 2017 at 7:31 PM, Logan Gunthorpe <logang@xxxxxxxxxxxx> wrote: > On 31/07/17 10:10 AM, Andy Shevchenko wrote: >> Some drivers (hardware) would like to have non-atomic MMIO accesses >> when readq() defined > > Huh? But that's the whole point of the io64-nonatomic header. If a > driver wants a specific non-atomic access they should just code two 32 > bit accesses. You mean to call them directly as lo_hi_XXX() or hi_lo_XXX() ? Yes it would work. >> In case of readq() / writeq() it's defined by the order of inclusion: >> >> 1) >> include <...non-atomic...> >> include <linux/io.h> >> >> Always non-atomic will be used. > > I'm afraid you're wrong about this. The io-64-nonatomic-xx header > includes linux/io.h. Thus the order of the includes doesn't matter and > it will always auto switch. In any case, making an interface do > different things depending on the order of include files is *completely* > insane. Yes, you are right. I was thinking about something unrelated. -- With Best Regards, Andy Shevchenko