twx-linux/include/linux/mtd
Brian Norris 1fbb938dff mtd: nand: add 'oob_required' argument to NAND {read,write}_page interfaces
New NAND controllers can perform read/write via HW engines which don't expose
OOB data in their DMA mode. To reflect this, we should rework the nand_chip /
nand_ecc_ctrl interfaces that assume that drivers will always read/write OOB
data in the nand_chip.oob_poi buffer. A better interface includes a boolean
argument that explicitly tells the callee when OOB data is requested by the
calling layer (for reading/writing to/from nand_chip.oob_poi).

This patch adds the 'oob_required' parameter to each relevant {read,write}_page
interface; all 'oob_required' parameters are left unused for now. The next
patch will set the parameter properly in the nand_base.c callers, and follow-up
patches will make use of 'oob_required' in some of the callee functions.

Note that currently, there is no harm in ignoring the 'oob_required' parameter
and *always* utilizing nand_chip.oob_poi, but there can be
performance/complexity/design benefits from avoiding filling oob_poi in the
common case. I will try to implement this for some drivers which can be ported
easily.

Note: I couldn't compile-test all of these easily, as some had ARCH
dependencies.

[dwmw2: Merge later 1/0 vs. true/false cleanup]
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Reviewed-by: Shmulik Ladkani <shmulik.ladkani@gmail.com>
Acked-by: Jiandong Zheng <jdzheng@broadcom.com>
Acked-by: Mike Dunn <mikedunn@newsguy.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2012-05-13 23:20:00 -05:00
..
bbm.h mtd: nand: write BBM to OOB even with flash-based BBT 2012-03-27 00:27:02 +01:00
blktrans.h mtd: mtdblock: call mtd_sync() only if opened for write 2012-03-27 00:11:11 +01:00
cfi_endian.h mtd: cfi: Allow per-mapping CFI device endianness 2012-01-09 18:06:13 +00:00
cfi.h BUG: headers with BUG/BUG_ON etc. need linux/bug.h 2012-03-04 17:54:34 -05:00
concat.h
doc2000.h
flashchip.h
fsmc.h mtd: Add device-tree support to fsmc_nand 2012-03-27 01:01:07 +01:00
ftl.h
gen_probe.h
gpmi-nand.h mtd: fix compile error for gpmi-nand 2011-12-23 21:33:15 +05:30
inftl.h
latch-addr-flash.h
map.h Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
mtd.h mtd: bitflip_threshold added to mtd_info and sysfs 2012-05-13 23:11:39 -05:00
mtdram.h
nand_bch.h
nand_ecc.h
nand-gpio.h
nand.h mtd: nand: add 'oob_required' argument to NAND {read,write}_page interfaces 2012-05-13 23:20:00 -05:00
ndfc.h
nftl.h
onenand_regs.h
onenand.h
partitions.h
pfow.h
physmap.h mtd: maps: physmap: allow partition parsers for physmap_flash_data 2012-01-09 18:16:15 +00:00
pismo.h
plat-ram.h
qinfo.h
sh_flctl.h mtd: sh_flctl: Add power management with QoS request 2012-03-27 00:53:34 +01:00
sharpsl.h
spear_smi.h mtd: add device-tree support to spear_smi 2012-03-27 01:01:21 +01:00
super.h
ubi.h
xip.h