aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-10-18 14:48:03 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-10-18 14:48:03 -0400
commit511c41d9e6665a07aca94eb00983cf6d77dd87ff (patch)
treef9933c61d0bc902c49832bcfc24d65cfe0b34529
parent88ed806abb981cc8ec61ee7fab93ecfe63521ebf (diff)
parent8b3d58e554453ab858bbb169d93b7321bdc628d4 (diff)
Merge tag 'for-linus-20141015' of git://git.infradead.org/linux-mtd
Pull MTD update from Brian Norris: "Sorry for delaying this a bit later than usual. There's one mild regression from 3.16 that was noticed during the 3.17 cycle, and I meant to send a fix for it along with this pull request. I'll probably try to queue it up for a later pull request once I've had a better look at it, hopefully by -rc2 at the latest. Summary for this pull: NAND - Cleanup for Denali driver - Atmel: add support for new page sizes - Atmel: fix up 'raw' mode support - Atmel: miscellaneous cleanups - New timing mode helpers for non-ONFI NAND - OMAP: allow driver to be (properly) built as a module - bcm47xx: RESET support and other cleanups SPI NOR - Miscellaneous cleanups, to prepare framework for wider use (some further work still pending) - Compile-time configuration to select 4K vs. 64K support for flash that support both (necessary for using UBIFS on some SPI NOR) A few scattered code quality fixes, detected by Coverity See the changesets for more" * tag 'for-linus-20141015' of git://git.infradead.org/linux-mtd: (59 commits) mtd: nand: omap: Correct CONFIG_MTD_NAND_OMAP_BCH help message mtd: nand: Force omap_elm to be built as a module if omap2_nand is a module mtd: move support for struct flash_platform_data into m25p80 mtd: spi-nor: add Kconfig option to disable 4K sectors mtd: nand: Move ELM driver and rename as omap_elm nand: omap2: Replace pr_err with dev_err nand: omap2: Remove horrible ifdefs to fix module probe mtd: nand: add Hynix's H27UCG8T2ATR-BC to nand_ids table mtd: nand: support ONFI timing mode retrieval for non-ONFI NANDs mtd: physmap_of: Add non-obsolete map_rom probe mtd: physmap_of: Fix ROM support via OF MAINTAINERS: add l2-mtd.git, 'next' tree for MTD mtd: denali: fix indents and other trivial things mtd: denali: remove unnecessary parentheses mtd: denali: remove another set-but-unused variable mtd: denali: fix include guard and license block of denali.h mtd: nand: don't break long print messages mtd: bcm47xxnflash: replace some magic numbers mtd: bcm47xxnflash: NAND_CMD_RESET support mtd: bcm47xxnflash: add cmd_ctrl handler ...
-rw-r--r--Documentation/devicetree/bindings/mtd/atmel-nand.txt2
-rw-r--r--Documentation/devicetree/bindings/mtd/mtd-physmap.txt4
-rw-r--r--MAINTAINERS1
-rw-r--r--arch/arm/mach-omap2/gpmc.c2
-rw-r--r--drivers/mtd/bcm47xxpart.c11
-rw-r--r--drivers/mtd/chips/cfi_cmdset_0002.c2
-rw-r--r--drivers/mtd/devices/Makefile1
-rw-r--r--drivers/mtd/devices/docg3.c26
-rw-r--r--drivers/mtd/devices/m25p80.c22
-rw-r--r--drivers/mtd/maps/Kconfig2
-rw-r--r--drivers/mtd/maps/gpio-addr-flash.c42
-rw-r--r--drivers/mtd/maps/pcmciamtd.c2
-rw-r--r--drivers/mtd/maps/physmap_of.c6
-rw-r--r--drivers/mtd/mtdchar.c3
-rw-r--r--drivers/mtd/mtdcore.c39
-rw-r--r--drivers/mtd/mtdswap.c8
-rw-r--r--drivers/mtd/nand/Kconfig7
-rw-r--r--drivers/mtd/nand/Makefile1
-rw-r--r--drivers/mtd/nand/atmel_nand.c96
-rw-r--r--drivers/mtd/nand/bcm47xxnflash/ops_bcm4706.c57
-rw-r--r--drivers/mtd/nand/denali.c565
-rw-r--r--drivers/mtd/nand/denali.h27
-rw-r--r--drivers/mtd/nand/nand_base.c38
-rw-r--r--drivers/mtd/nand/nand_bbt.c23
-rw-r--r--drivers/mtd/nand/nand_ids.c4
-rw-r--r--drivers/mtd/nand/nand_timings.c2
-rw-r--r--drivers/mtd/nand/nandsim.c2
-rw-r--r--drivers/mtd/nand/ndfc.c3
-rw-r--r--drivers/mtd/nand/omap2.c166
-rw-r--r--drivers/mtd/nand/omap_elm.c (renamed from drivers/mtd/devices/elm.c)0
-rw-r--r--drivers/mtd/nand/sm_common.h2
-rw-r--r--drivers/mtd/sm_ftl.c2
-rw-r--r--drivers/mtd/spi-nor/Kconfig14
-rw-r--r--drivers/mtd/spi-nor/spi-nor.c42
-rw-r--r--drivers/mtd/tests/mtd_test.c4
-rw-r--r--drivers/mtd/tests/nandbiterrs.c2
-rw-r--r--drivers/mtd/tests/oobtest.c8
-rw-r--r--drivers/mtd/tests/pagetest.c4
-rw-r--r--drivers/mtd/tests/readtest.c2
-rw-r--r--drivers/mtd/tests/speedtest.c14
-rw-r--r--drivers/mtd/tests/subpagetest.c10
-rw-r--r--include/linux/mtd/cfi.h22
-rw-r--r--include/linux/mtd/nand.h12
-rw-r--r--include/linux/platform_data/elm.h16
-rw-r--r--include/linux/platform_data/mtd-nand-omap2.h1
45 files changed, 757 insertions, 562 deletions
diff --git a/Documentation/devicetree/bindings/mtd/atmel-nand.txt b/Documentation/devicetree/bindings/mtd/atmel-nand.txt
index c4728839d0c1..6edc3b616e98 100644
--- a/Documentation/devicetree/bindings/mtd/atmel-nand.txt
+++ b/Documentation/devicetree/bindings/mtd/atmel-nand.txt
@@ -36,6 +36,7 @@ Optional properties:
36 - reg : should specify the address and size used for NFC command registers, 36 - reg : should specify the address and size used for NFC command registers,
37 NFC registers and NFC Sram. NFC Sram address and size can be absent 37 NFC registers and NFC Sram. NFC Sram address and size can be absent
38 if don't want to use it. 38 if don't want to use it.
39 - clocks: phandle to the peripheral clock
39 - Optional properties: 40 - Optional properties:
40 - atmel,write-by-sram: boolean to enable NFC write by sram. 41 - atmel,write-by-sram: boolean to enable NFC write by sram.
41 42
@@ -98,6 +99,7 @@ nand0: nand@40000000 {
98 compatible = "atmel,sama5d3-nfc"; 99 compatible = "atmel,sama5d3-nfc";
99 #address-cells = <1>; 100 #address-cells = <1>;
100 #size-cells = <1>; 101 #size-cells = <1>;
102 clocks = <&hsmc_clk>
101 reg = < 103 reg = <
102 0x70000000 0x10000000 /* NFC Command Registers */ 104 0x70000000 0x10000000 /* NFC Command Registers */
103 0xffffc000 0x00000070 /* NFC HSMC regs */ 105 0xffffc000 0x00000070 /* NFC HSMC regs */
diff --git a/Documentation/devicetree/bindings/mtd/mtd-physmap.txt b/Documentation/devicetree/bindings/mtd/mtd-physmap.txt
index 61c5ec850f2f..6b9f680cb579 100644
--- a/Documentation/devicetree/bindings/mtd/mtd-physmap.txt
+++ b/Documentation/devicetree/bindings/mtd/mtd-physmap.txt
@@ -4,8 +4,8 @@ Flash chips (Memory Technology Devices) are often used for solid state
4file systems on embedded devices. 4file systems on embedded devices.
5 5
6 - compatible : should contain the specific model of mtd chip(s) 6 - compatible : should contain the specific model of mtd chip(s)
7 used, if known, followed by either "cfi-flash", "jedec-flash" 7 used, if known, followed by either "cfi-flash", "jedec-flash",
8 or "mtd-ram". 8 "mtd-ram" or "mtd-rom".
9 - reg : Address range(s) of the mtd chip(s) 9 - reg : Address range(s) of the mtd chip(s)
10 It's possible to (optionally) define multiple "reg" tuples so that 10 It's possible to (optionally) define multiple "reg" tuples so that
11 non-identical chips can be described in one node. 11 non-identical chips can be described in one node.
diff --git a/MAINTAINERS b/MAINTAINERS
index 90baf1bef4ca..6c59c6697a54 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5992,6 +5992,7 @@ L: linux-mtd@lists.infradead.org
5992W: http://www.linux-mtd.infradead.org/ 5992W: http://www.linux-mtd.infradead.org/
5993Q: http://patchwork.ozlabs.org/project/linux-mtd/list/ 5993Q: http://patchwork.ozlabs.org/project/linux-mtd/list/
5994T: git git://git.infradead.org/linux-mtd.git 5994T: git git://git.infradead.org/linux-mtd.git
5995T: git git://git.infradead.org/l2-mtd.git
5995S: Maintained 5996S: Maintained
5996F: drivers/mtd/ 5997F: drivers/mtd/
5997F: include/linux/mtd/ 5998F: include/linux/mtd/
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
index a4d52c42a438..5fa3755261ce 100644
--- a/arch/arm/mach-omap2/gpmc.c
+++ b/arch/arm/mach-omap2/gpmc.c
@@ -1440,6 +1440,8 @@ static int gpmc_probe_nand_child(struct platform_device *pdev,
1440 break; 1440 break;
1441 } 1441 }
1442 1442
1443 gpmc_nand_data->flash_bbt = of_get_nand_on_flash_bbt(child);
1444
1443 val = of_get_nand_bus_width(child); 1445 val = of_get_nand_bus_width(child);
1444 if (val == 16) 1446 if (val == 16)
1445 gpmc_nand_data->devsize = NAND_BUSWIDTH_16; 1447 gpmc_nand_data->devsize = NAND_BUSWIDTH_16;
diff --git a/drivers/mtd/bcm47xxpart.c b/drivers/mtd/bcm47xxpart.c
index adfa74c1bc45..8057f52a45b7 100644
--- a/drivers/mtd/bcm47xxpart.c
+++ b/drivers/mtd/bcm47xxpart.c
@@ -199,6 +199,17 @@ static int bcm47xxpart_parse(struct mtd_info *master,
199 continue; 199 continue;
200 } 200 }
201 201
202 /*
203 * New (ARM?) devices may have NVRAM in some middle block. Last
204 * block will be checked later, so skip it.
205 */
206 if (offset != master->size - blocksize &&
207 buf[0x000 / 4] == NVRAM_HEADER) {
208 bcm47xxpart_add_part(&parts[curr_part++], "nvram",
209 offset, 0);
210 continue;
211 }
212
202 /* Read middle of the block */ 213 /* Read middle of the block */
203 if (mtd_read(master, offset + 0x8000, 0x4, 214 if (mtd_read(master, offset + 0x8000, 0x4,
204 &bytes_read, (uint8_t *)buf) < 0) { 215 &bytes_read, (uint8_t *)buf) < 0) {
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
index 46c4643b7a07..c50d8cf0f60d 100644
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -2033,6 +2033,8 @@ static int cfi_amdstd_panic_wait(struct map_info *map, struct flchip *chip,
2033 2033
2034 udelay(1); 2034 udelay(1);
2035 } 2035 }
2036
2037 retries--;
2036 } 2038 }
2037 2039
2038 /* the chip never became ready */ 2040 /* the chip never became ready */
diff --git a/drivers/mtd/devices/Makefile b/drivers/mtd/devices/Makefile
index c68868f60588..f0b0e611d1d6 100644
--- a/drivers/mtd/devices/Makefile
+++ b/drivers/mtd/devices/Makefile
@@ -12,7 +12,6 @@ obj-$(CONFIG_MTD_LART) += lart.o
12obj-$(CONFIG_MTD_BLOCK2MTD) += block2mtd.o 12obj-$(CONFIG_MTD_BLOCK2MTD) += block2mtd.o
13obj-$(CONFIG_MTD_DATAFLASH) += mtd_dataflash.o 13obj-$(CONFIG_MTD_DATAFLASH) += mtd_dataflash.o
14obj-$(CONFIG_MTD_M25P80) += m25p80.o