mtd: nand: vf610_nfc: resync with upstream Linux version
authorStefan Agner <stefan@agner.ch>
Wed, 14 Oct 2015 05:11:42 +0000 (22:11 -0700)
committerStefano Babic <sbabic@denx.de>
Thu, 15 Oct 2015 09:10:44 +0000 (11:10 +0200)
commite24bb2b7322668746dad3ff24b1b4c045ceb3a6a
treed3fd6bad51675e86fb0bb65f55e489b4064992b9
parent61903b759aa336d798da49d884467219796817ff
mtd: nand: vf610_nfc: resync with upstream Linux version

This resyncs the driver changes with the Linux version of the
driver. The driver received some feedback in the LKML and got
recently acceppted, the latest version can be found here:
https://lkml.org/lkml/2015/9/2/678

Notable changes are:
- On ECC error, reread OOB and count bit flips in OOB too.
  If flipped bits are below threshold, also return an empty
  OOB buffer.
- Return the amount of bit flips in vf610_nfc_read_page.
- Use endianness aware vf610_nfc_read to read ECC status.
- Do not enable IDLE IRQ (since we do not operate with an
  interrupt service routine).
- Use type safe struct for buffer variants (vf610_nfc_alt_buf).
- Renamed variables in struct vf610_nfc (column and page_sz)
  to reflect better what they really representing.

The U-Boot version currently does not support RAW NAND write
when using the HW ECC engine.

Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Tested-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>
Tested-by: Stefan Agner <stefan@agner.ch>
Acked-by: Scott Wood <scottwood@freescale.com>
drivers/mtd/nand/vf610_nfc.c