[PATCH v3 0/9] mtd: rawnand: sunxi: Fixes user data length for H6

From: Richard Genoud

Date: Tue Mar 17 2026 - 10:40:24 EST


This series introduces the correct usage of user data length for
H6/H616.
If the older SoCs must use a fixed value of 4 user data bytes for each
ECC step, the H6 can have a different value for each step.

In the first round, the behavior was kept as the one used by A10.
But we have multiple choices:
- do like A10 like before (and not use all OOB)
- do like the vendor kernel (different from A10, but not using all OOB)
- use the whole OOB for user data bytes

In this second round, the third approach is implemented.

The first patches are fixes/code cleaning and the last one enables using
a variable user data length for H6/H616

Changes from v2:
- fix typos in commit messages
- add a patch fixing typos in code comments
- add a patch to remove some dead code in sunxi_nand_ooblayout_free()
- add a patch to change an error prone variable name
- maximize user data length instead of relying on vendor layout

Changes from v1:
- gather Reviewed-by/Acked-by
- rework patch 1 subject (more a code clarification than a fix)
- fix typo in patch 2
- remove patch 4 Fixes since it's not really a fix

Richard Genoud (9):
mtd: rawnand: sunxi: sunxi_nand_ooblayout_free code clarification
mtd: rawnand: sunxi: fix sunxi_nfc_hw_ecc_read_extra_oob
mtd: rawnand: sunxi: do not count BBM bytes twice
mtd: rawnand: sunxi: replace hard coded value by a define - take2
mtd: rawnand: sunxi: make the code more self-explanatory
mtd: rawnand: sunxi: remove dead code
mtd: rawnand: sunxi: change error prone variable name
mtd: rawnand: sunxi: fix typos in comments
mtd: rawnand: sunxi: introduce maximize variable user data length

drivers/mtd/nand/raw/sunxi_nand.c | 381 +++++++++++++++++++++++-------
1 file changed, 294 insertions(+), 87 deletions(-)


base-commit: 11439c4635edd669ae435eec308f4ab8a0804808