[PATCH 1/2] mtd mxc_nand: use 32bit copy functions

Artem Bityutskiy artem.bityutskiy at linux.intel.com
Fri Jun 29 07:34:24 EDT 2012


On Fri, 2012-05-25 at 16:59 +0200, Sascha Hauer wrote:
> > WARNING:LONG_LINE: line over 80 characters
> > #103: FILE: drivers/mtd/nand/mxc_nand.c:276:
> > +static void memcpy32_fromio(void *trg, const volatile void __iomem  *src, size_t size)
> > 
> > WARNING:VOLATILE: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt
> > #103: FILE: drivers/mtd/nand/mxc_nand.c:276:
> > +static void memcpy32_fromio(void *trg, const volatile void __iomem  *src, size_t size)
> 
> This makes me wonder a bit, I basically copied the prototype from
> the _memcpy_*_io template from arch/arm/kernel/io.c. Should they
> be wrong?

Well, this is arch-specific code. In there we may make various
assumptions about CPU not doing re-ordering. You are changing generic
code, you should not do assumptions like this.

How about adding these functions to arch/arm/kernel/io.c instead?

> otoh I also wondered why there were volatiles in arch/arm/kernel/io.c
> in the first place ;)

Not sure, probably in that file we assume that the memory is
strongly-ordered.

-- 
Best Regards,
Artem Bityutskiy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120629/942ccb1a/attachment.sig>


More information about the linux-arm-kernel mailing list