From mboxrd@z Thu Jan 1 00:00:00 1970 From: lethal@linux-sh.org (Paul Mundt) Date: Mon, 13 Jun 2011 13:00:04 +0900 Subject: [PATCH] fb.h: ARM uses __raw_{read/write} In-Reply-To: <201106101731.08578.hartleys@visionengravers.com> References: <201106101731.08578.hartleys@visionengravers.com> Message-ID: <20110613040003.GA29731@linux-sh.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Fri, Jun 10, 2011 at 05:31:08PM -0700, H Hartley Sweeten wrote: > ARM provides __raw_{read/write}* functions for memory access. These > should be used instead of the default '(*(volatile' stuff to make sure the > memory accesses are typesafe (void __iomem *). > > This also fixes a number of sparse warning like: > > warning: cast removes address space of expression > > Signed-off-by: H Hartley Sweeten > Cc: Paul Mundt > Cc: Russell King > I'm not sure what semantics are desirable for ARM here, so I'll wait for Russell to reply. This wrapping will basically mean that the fb_read/write ops are using __raw_xxx variants while the memset and memcpy wrappers will be using the regular read/write[bwl] routines which contain __iormb() calls. Given that ioread/write and friends all wrap in to the normal versions with the barriers, I would suppose that this is the default behaviour that is desired, as opposed to wrapping in to the __raw_xxx variants directly.