linux/drivers/mtd/nand
Brian Norris e3b88bd604 mtd: nand: add generic READ ID length calculation functions
When decoding the extended ID bytes of a NAND chip, we have to calculate the ID
length according to some heuristic patterns (e.g., Does the ID wrap around?
Does it end in trailing zeros?). Currently, these heuristics are built into
complicated if/else blocks that can be hard to understand.

Now, these checks can be done generically in a function, making them more
robust and reusable. In fact, this sort of calculation is needed in future
additions to nand_base.c. And with this advancement, we get the added benefit
of a more readable "extended ID decode".

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2012-09-29 15:57:58 +01:00
..
gpmi-nand mtd: gpmi: initialize the timing registers only one time 2012-09-29 15:56:45 +01:00
alauda.c mtd: driver _read() returns max_bitflips; mtd_read() returns -EUCLEAN 2012-05-13 23:14:23 -05:00
ams-delta.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
atmel_nand_ecc.h mtd: at91: atmel_nand: add Programmable Multibit ECC controller support 2012-07-06 18:23:25 +01:00
atmel_nand.c mtd: atmel nand: fix gpio missing request 2012-09-29 14:53:58 +01:00
au1550nd.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
autcpu12.c ARM: clps711x: Using a single definition for the PHYS and VIRT registers offset 2012-05-11 16:18:01 +02:00
bf5xx_nand.c mtd: nand: teach write_page and write_page_raw return an error code 2012-07-06 18:17:07 +01:00
cafe_nand.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
cmx270_nand.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
cs553x_nand.c mtd: nand: kill NAND_NO_AUTOINCR option 2012-05-13 23:15:38 -05:00
davinci_nand.c mtd: nand: clk: preparation for switch to common clock framework 2012-09-29 15:48:22 +01:00
denali.c mtd: nand: teach write_page and write_page_raw return an error code 2012-07-06 18:17:07 +01:00
denali.h mtd: denali: detect the number of banks 2011-05-25 02:02:12 +01:00
diskonchip.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
docg4.c mtd: docg4: ecc.read_page() returns 0 on uncorrectable errors 2012-09-29 15:54:11 +01:00
fsl_elbc_nand.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
fsl_ifc_nand.c mtd: fsl_ifc_nand: fix sparse warnings 2012-09-29 15:54:13 +01:00
fsl_upm.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
fsmc_nand.c mtd: nand: add 'oob_required' argument to NAND {read,write}_page interfaces 2012-05-13 23:20:00 -05:00
gpio.c mtd: nand/gpio: Convert to module_platform_driver() 2012-09-29 15:44:02 +01:00
h1910.c - More robust parsing especially of xattr data in JFFS2 2012-06-01 16:55:42 -07:00
jz4740_nand.c MTD: NAND: JZ4740: Multi-bank support with autodetection 2012-07-23 13:56:20 +01:00
Kconfig mtd: docg4: add missing HAS_IOMEM dependency 2012-09-29 15:56:59 +01:00
lpc32xx_mlc.c mtd: lpc32xx_mlc: Cleanup after DT-only conversion 2012-09-29 15:12:49 +01:00
lpc32xx_slc.c mtd: lpc32xx_slc: Cleanup after DT-only conversion 2012-09-29 15:12:48 +01:00
Makefile mtd: remove bcmring NAND driver 2012-09-29 15:54:09 +01:00
mpc5121_nfc.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
mxc_nand.c mtd: mxc_nand: Adapt the clock name to the new clock framework 2012-09-29 15:43:29 +01:00
nand_base.c mtd: nand: add generic READ ID length calculation functions 2012-09-29 15:57:58 +01:00
nand_bbt.c mtd: nand: use NAND_BBT_SCAN_MAXBLOCKS 2012-09-29 15:54:10 +01:00
nand_bch.c mtd: cleanup style on pr_debug messages 2011-09-11 15:02:16 +03:00
nand_ecc.c mtd: spelling, capitalization, uniformity 2011-09-11 15:02:13 +03:00
nand_ids.c mtd: nand: change "AMD" manuf. ID to "AMD/Spansion" 2012-07-06 18:17:08 +01:00
nandsim.c mtd: nandsim: bugfix: fail if overridesize is too big 2012-09-29 15:54:12 +01:00
ndfc.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
nomadik_nand.c mtd: introduce mtd_resume interface 2012-01-09 18:25:46 +00:00
nuc900_nand.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
omap2.c mtd: omap2: fix module loading 2012-09-29 15:29:51 +01:00
orion_nand.c mtd: orion_nand: remove <mach/hardware.h> include 2012-09-29 15:13:18 +01:00
pasemi_nand.c mtd: nand: kill NAND_NO_AUTOINCR option 2012-05-13 23:15:38 -05:00
plat_nand.c mtd: check for valid pdata inside plat_nand 2012-09-29 15:01:52 +01:00
ppchameleonevb.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
pxa3xx_nand.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
r852.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
r852.h mtd: r852: remove useless pci powerup/down from suspend/resume routines 2010-10-25 01:32:21 +01:00
rtc_from4.c mtd: flash drivers set ecc strength 2012-03-27 00:56:46 +01:00
s3c2410.c mtd: s3c2410: Fix compiler warnings 2012-09-29 15:10:04 +01:00
sh_flctl.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
sharpsl.c mtd: flash drivers set ecc strength 2012-03-27 00:56:46 +01:00
sm_common.c mtd: nand: kill NAND_NO_AUTOINCR option 2012-05-13 23:15:38 -05:00
sm_common.h
socrates_nand.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
spia.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
tmio_nand.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
txx9ndfmc.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
xway_nand.c mtd: lantiq: Add NAND support on Lantiq XWAY SoC. 2012-09-29 15:05:18 +01:00