[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