[PATCH] ARM: io: avoid writeback addressing modes for __raw_ accessors

Nicolas Pitre nico at fluxnic.net
Mon Aug 20 14:45:20 EDT 2012


On Mon, 20 Aug 2012, Will Deacon wrote:

> On Mon, Aug 20, 2012 at 07:04:01PM +0100, Nicolas Pitre wrote:
> > On Mon, 20 Aug 2012, Will Deacon wrote:
> > > 
> > > Hmm, ok. I too would hope that the volatile keyword would sort that out but,
> > > since the '+' doesn't seem to change the generated code, I can add that. It
> > > does, however, mean we have to cast away the `const' in the read accessors
> > > which makes the code even uglier.
> > 
> > Nah... the const is wrong.  The way you wrote it means that addr may 
> > change but the pointed data is constant.  This is obviously wrong since 
> > we expect the pointed location to change even from a read.
> 
> That's the prototype for the read accessors though -- a bunch of other
> architectures define them that way (including asm-generic), so I wonder what
> the reasoning behind that was?

I'm still asserting that they're wrong.


Nicolas



More information about the linux-arm-kernel mailing list