diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-18 14:48:03 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-18 14:48:03 -0400 |
| commit | 511c41d9e6665a07aca94eb00983cf6d77dd87ff (patch) | |
| tree | f9933c61d0bc902c49832bcfc24d65cfe0b34529 | |
| parent | 88ed806abb981cc8ec61ee7fab93ecfe63521ebf (diff) | |
| parent | 8b3d58e554453ab858bbb169d93b7321bdc628d4 (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
...
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 | |||
| 4 | file systems on embedded devices. | 4 | file 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 | |||
| 5992 | W: http://www.linux-mtd.infradead.org/ | 5992 | W: http://www.linux-mtd.infradead.org/ |
| 5993 | Q: http://patchwork.ozlabs.org/project/linux-mtd/list/ | 5993 | Q: http://patchwork.ozlabs.org/project/linux-mtd/list/ |
| 5994 | T: git git://git.infradead.org/linux-mtd.git | 5994 | T: git git://git.infradead.org/linux-mtd.git |
| 5995 | T: git git://git.infradead.org/l2-mtd.git | ||
| 5995 | S: Maintained | 5996 | S: Maintained |
| 5996 | F: drivers/mtd/ | 5997 | F: drivers/mtd/ |
| 5997 | F: include/linux/mtd/ | 5998 | F: 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 | |||
| 12 | obj-$(CONFIG_MTD_BLOCK2MTD) += block2mtd.o | 12 | obj-$(CONFIG_MTD_BLOCK2MTD) += block2mtd.o |
| 13 | obj-$(CONFIG_MTD_DATAFLASH) += mtd_dataflash.o | 13 | obj-$(CONFIG_MTD_DATAFLASH) += mtd_dataflash.o |
| 14 | obj-$(CONFIG_MTD_M25P80) += m25p80.o | ||
