diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-13 22:31:43 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-13 22:31:43 -0500 |
| commit | 82cb6acea4d10fa4080612c58deb63993f558e5a (patch) | |
| tree | ba6f0b8281e37c7e1830ef2162d38d8a2bc2fbb7 | |
| parent | 0d522ee7499e4abe7189b2f1728e838959b8ddde (diff) | |
| parent | 885d71e5838f68d5dbee92ab952cc90ad6c1dc6b (diff) | |
Merge tag 'for-linus-20131112' of git://git.infradead.org/linux-mtd
Pull MTD changes from Brian Norris:
- Unify some compile-time differences so that we have fewer uses of
#ifdef CONFIG_OF in atmel_nand
- Other general cleanups (removing unused functions, options,
variables, fields; use correct interfaces)
- Fix BUG() for new odd-sized NAND, which report non-power-of-2
dimensions via ONFI
- Miscellaneous driver fixes (SPI NOR flash; BCM47xx NAND flash; etc.)
- Improve differentiation between SLC and MLC NAND -- this clarifies an
ABI issue regarding the MTD "type" (in sysfs and in the MEMGETINFO
ioctl), where the MTD_MLCNANDFLASH type was present but
inconsistently used
- Extend GPMI NAND to support multi-chip-select NAND for some platforms
- Many improvements to the OMAP2/3 NAND driver, including an expanded
DT binding to bring us closer to mainline support for some OMAP
systems
- Fix a deadlock in the error path of the Atmel NAND driver probe
- Correct the error codes from MTD mmap() to conform to POSIX and the
Linux Programmer's Manual. This is an acknowledged change in the MTD
ABI, but I can't imagine somebody relying on the non-standard -ENOSYS
error code specifically. Am I just being unimaginative? :)
- Fix a few important GPMI NAND bugs (one regression from 3.12 and one
long-standing race condition)
- More? Read the log!
* tag 'for-linus-20131112' of git://git.infradead.org/linux-mtd: (98 commits)
mtd: gpmi: fix the NULL pointer
mtd: gpmi: fix kernel BUG due to racing DMA operations
mtd: mtdchar: return expected errors on mmap() call
mtd: gpmi: only scan two chips for imx6
mtd: gpmi: Use devm_kzalloc()
mtd: atmel_nand: fix bug driver will in a dead lock if no nand detected
mtd: nand: use a local variable to simplify the nand_scan_tail
mtd: nand: remove deprecated IRQF_DISABLED
mtd: dataflash: Say if we find a device we don't support
mtd: nand: omap: fix error return code in omap_nand_probe()
mtd: nand_bbt: kill NAND_BBT_SCANALLPAGES
mtd: m25p80: fixup device removal failure path
mtd: mxc_nand: Include linux/of.h header
mtd: remove duplicated include from mtdcore.c
mtd: m25p80: add support for Macronix mx25l3255e
mtd: nand: omap: remove selection of BCH ecc-scheme via KConfig
mtd: nand: omap: updated devm_xx for all resource allocation and free calls
mtd: nand: omap: use drivers/mtd/nand/nand_bch.c wrapper for BCH ECC instead of lib/bch.c
mtd: nand: omap: clean-up ecc layout for BCH ecc schemes
mtd: nand: omap2: clean-up BCHx_HW and BCHx_SW ECC configurations in device_probe
...
65 files changed, 925 insertions, 984 deletions
diff --git a/Documentation/ABI/testing/sysfs-class-mtd b/Documentation/ABI/testing/sysfs-class-mtd index bfd119ace6ad..1399bb2da3eb 100644 --- a/Documentation/ABI/testing/sysfs-class-mtd +++ b/Documentation/ABI/testing/sysfs-class-mtd | |||
| @@ -104,7 +104,7 @@ Description: | |||
| 104 | One of the following ASCII strings, representing the device | 104 | One of the following ASCII strings, representing the device |
| 105 | type: | 105 | type: |
| 106 | 106 | ||
| 107 | absent, ram, rom, nor, nand, dataflash, ubi, unknown | 107 | absent, ram, rom, nor, nand, mlc-nand, dataflash, ubi, unknown |
| 108 | 108 | ||
| 109 | What: /sys/class/mtd/mtdX/writesize | 109 | What: /sys/class/mtd/mtdX/writesize |
| 110 | Date: April 2009 | 110 | Date: April 2009 |
diff --git a/Documentation/DocBook/mtdnand.tmpl b/Documentation/DocBook/mtdnand.tmpl index a248f42a121e..cd11926e07c7 100644 --- a/Documentation/DocBook/mtdnand.tmpl +++ b/Documentation/DocBook/mtdnand.tmpl | |||
| @@ -1222,8 +1222,6 @@ in this page</entry> | |||
| 1222 | #define NAND_BBT_VERSION 0x00000100 | 1222 | #define NAND_BBT_VERSION 0x00000100 |
| 1223 | /* Create a bbt if none axists */ | 1223 | /* Create a bbt if none axists */ |
| 1224 | #define NAND_BBT_CREATE 0x00000200 | 1224 | #define NAND_BBT_CREATE 0x00000200 |
| 1225 | /* Search good / bad pattern through all pages of a block */ | ||
| 1226 | #define NAND_BBT_SCANALLPAGES 0x00000400 | ||
| 1227 | /* Write bbt if neccecary */ | 1225 | /* Write bbt if neccecary */ |
| 1228 | #define NAND_BBT_WRITE 0x00001000 | 1226 | #define NAND_BBT_WRITE 0x00001000 |
| 1229 | /* Read and write back block contents when writing bbt */ | 1227 | /* Read and write back block contents when writing bbt */ |
diff --git a/Documentation/devicetree/bindings/mtd/gpmc-nand.txt b/Documentation/devicetree/bindings/mtd/gpmc-nand.txt index df338cb5059c..5e1f31b5ff70 100644 --- a/Documentation/devicetree/bindings/mtd/gpmc-nand.txt +++ b/Documentation/devicetree/bindings/mtd/gpmc-nand.txt | |||
| @@ -22,10 +22,10 @@ Optional properties: | |||
| 22 | width of 8 is assumed. | 22 | width of 8 is assumed. |
| 23 | 23 | ||
| 24 | - ti,nand-ecc-opt: A string setting the ECC layout to use. One of: | 24 | - ti,nand-ecc-opt: A string setting the ECC layout to use. One of: |
| 25 | 25 | "sw" <deprecated> use "ham1" instead | |
| 26 | "sw" Software method (default) | 26 | "hw" <deprecated> use "ham1" instead |
| 27 | "hw" Hardware method | 27 | "hw-romcode" <deprecated> use "ham1" instead |
| 28 | "hw-romcode" gpmc hamming mode method & romcode layout | 28 | "ham1" 1-bit Hamming ecc code |
| 29 | "bch4" 4-bit BCH ecc code | 29 | "bch4" 4-bit BCH ecc code |
| 30 | "bch8" 8-bit BCH ecc code | 30 | "bch8" 8-bit BCH ecc code |
| 31 | 31 | ||
| @@ -36,8 +36,12 @@ Optional properties: | |||
| 36 | "prefetch-dma" Prefetch enabled sDMA mode | 36 | "prefetch-dma" Prefetch enabled sDMA mode |
| 37 | "prefetch-irq" Prefetch enabled irq mode | 37 | "prefetch-irq" Prefetch enabled irq mode |
| 38 | 38 | ||
| 39 | - elm_id: Specifies elm device node. This is required to support BCH | 39 | - elm_id: <deprecated> use "ti,elm-id" instead |
| 40 | error correction using ELM module. | 40 | - ti,elm-id: Specifies phandle of the ELM devicetree node. |
| 41 | ELM is an on-chip hardware engine on TI SoC which is used for | ||
| 42 | locating ECC errors for BCHx algorithms. SoC devices which have | ||
| 43 | ELM hardware engines should specify this device node in .dtsi | ||
| 44 | Using ELM for ECC error correction frees some CPU cycles. | ||
| 41 | 45 | ||
| 42 | For inline partiton table parsing (optional): | 46 | For inline partiton table parsing (optional): |
| 43 | 47 | ||
diff --git a/arch/arm/mach-omap2/board-flash.c b/arch/arm/mach-omap2/board-flash.c index fc20a61f6b2a..ac82512b9c8c 100644 --- a/arch/arm/mach-omap2/board-flash.c +++ b/arch/arm/mach-omap2/board-flash.c | |||
| @@ -142,7 +142,7 @@ __init board_nand_init(struct mtd_partition *nand_parts, u8 nr_parts, u8 cs, | |||
| 142 | board_nand_data.nr_parts = nr_parts; | 142 | board_nand_data.nr_parts = nr_parts; |
| 143 | board_nand_data.devsize = nand_type; | 143 | board_nand_data.devsize = nand_type; |
| 144 | 144 | ||
| 145 | board_nand_data.ecc_opt = OMAP_ECC_HAMMI | ||
