[PATCH 0/4] pxa: cleaned up patch set for pxa3xx NAND controller

eric miao eric.y.miao at gmail.com
Tue Feb 19 01:35:20 EST 2008


I cleaned up the previous patch a bit, and added support for zylonite
and littleton. And this version is intended for merging upstream.

The minor changes from the previous submitted version are:

1. removed un-used ERR_BUSY

2. sanitized states, and use different states for reading/writing, thus
eliminate the unnecessary "info->cur_cmd" field, another consequence
of this DMA setup is now performed in interrupt handler, and this
change should be quite safe.

3. use IORESOURCE_DMA defined in the device for DRCMR(x)
register indexing

4. use IORESOURCE_IRQ defined in the device for IRQ number

5. use __raw_{read, write}sl() instead of {read, write}_fifo_pio()

6. filling un-used info->ndcbx with 0 so it doesn't bother to initialize
them to zeros every time in the beginning of _cmdfunc()

7. combine CMD_READID and CMD_STATUS, they share almost
same code

8. corrected some mistakes in the exiting path of pxa3xx_nand_probe()

Thanks Sergey Podstavin, for your effort on testing out the previous
version, yet I'm quite satisifed with your version due to the following
reasons:

1. the badblock management code in the Marvell released NAND driver is
   actually not clean enough, so the that part of the code was removed
   on purpose, hopefully someone later can come up with a clean enough
   version

2. The OBM version code is way too ugly to be embedded into a generic
   NAND controller driver, so that part of the code was also removed
   on purpose. Besides, along with the development of OBM, the legacy
   versions will be slowly obsoleted, so it's really un-necessary to
   calculate the OBM version within new code.

3. [include/asm-arch/arm-pxa/pxa3xx_nand.h] should really include
   platform _only_ code, the NAND controller registers are better
   to be defined within pxa3xx_nand.c itself.

4. the above statement is also true for driver specific structures and
   constants

5. We should really make individual patches for the support of various
   platforms, instead of making this a big patch

-- 
Cheers
- eric



More information about the linux-mtd mailing list