23a346ca4a
This uses __raw_{read,write}s{b,w}() primitives to access data on NAND chips for more efficient I/O. On an arm926 with memory clocked at 100 MHz, this reduced the elapsed time for a 64 MiB read by 16%. ("dd" /dev/mtd0 to /dev/null, with an 8-bit NAND using hardware ECC and 128KiB blocksize.) Also some minor section tweaks: - Use platform_driver_probe() so no pointer to probe() lingers after that code has been removed at run-time. - Use __exit and __exit_p so the remove() code will normally be removed by the linker. Since these buffer read/write calls are new, this increases the runtime code footprint (by 88 bytes on my build, after the section tweaks). [haavard.skinnemoen@atmel.com: rebase onto atmel_nand rename] Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Håvard Skinnemoen <haavard.skinnemoen@atmel.com> Acked-by: Andrew Victor <linux@maxim.org.za> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> |
||
---|---|---|
.. | ||
alauda.c | ||
ams-delta.c | ||
atmel_nand_ecc.h | ||
atmel_nand.c | ||
au1550nd.c | ||
autcpu12.c | ||
bf5xx_nand.c | ||
cafe_nand.c | ||
cmx270_nand.c | ||
cs553x_nand.c | ||
diskonchip.c | ||
edb7312.c | ||
excite_nandflash.c | ||
fsl_elbc_nand.c | ||
fsl_upm.c | ||
h1910.c | ||
Kconfig | ||
Makefile | ||
nand_base.c | ||
nand_bbt.c | ||
nand_ecc.c | ||
nand_ids.c | ||
nandsim.c | ||
ndfc.c | ||
orion_nand.c | ||
pasemi_nand.c | ||
plat_nand.c | ||
ppchameleonevb.c | ||
pxa3xx_nand.c | ||
rtc_from4.c | ||
s3c2410.c | ||
sharpsl.c | ||
spia.c | ||
toto.c | ||
ts7250.c |