Thread (13 messages) flat view 13 messages, 3 authors, 2012-08-21
STALE5111d

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

From: Will Deacon <hidden>
Date: 2012-08-21 09:02:13

On Mon, Aug 20, 2012 at 07:45:20PM +0100, Nicolas Pitre wrote:
On Mon, 20 Aug 2012, Will Deacon wrote:
quoted
On Mon, Aug 20, 2012 at 07:04:01PM +0100, Nicolas Pitre wrote:
quoted
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.
I did a bit of digging around and `const volatile void *' is apparently used
because a function with such a parameter type can be passed any old pointer
without warnings. Torvalds says something about them here:

  http://readlist.com/lists/vger.kernel.org/linux-kernel/14/72300.html

Personally, I too think that the const is misleading and who on Earth would
be passing in pointers to const for an I/O region? However, it's an argument
I'd rather avoid so, for the sake of consistency, I'll cast away the const in
the asm block.

Cheers,

Will
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help