1
0
Files
linux/include/linux
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
..
2012-04-23 14:23:32 +03:00
2012-04-27 11:03:38 -06:00
2012-03-21 17:55:01 -07:00
2012-03-29 15:38:31 +10:30
2012-03-23 16:58:38 -07:00
2012-04-30 15:30:18 -07:00
2012-04-05 15:30:34 -07:00
2012-04-12 12:57:08 +02:00
2012-04-27 10:46:45 +08:00
2012-03-26 21:47:19 +02:00
2012-03-26 21:47:19 +02:00
2012-03-26 21:47:19 +02:00
2012-03-26 21:47:19 +02:00
2012-03-26 21:47:19 +02:00
2012-03-26 21:47:19 +02:00
2012-03-27 22:45:26 -04:00
2012-03-21 17:54:57 -07:00
2012-04-21 01:58:20 -04:00
2012-03-21 17:54:58 -07:00
2012-03-21 17:55:01 -07:00
2012-03-28 18:30:03 +01:00
2012-05-01 09:40:19 -04:00
2012-03-22 19:43:43 -07:00
2012-03-28 18:30:03 +01:00
2012-04-10 22:39:17 -06:00
2012-04-11 09:36:00 +01:00
2012-03-31 08:09:50 +05:30
2012-03-28 18:30:03 +01:00