Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a62d016c authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'for-linus-20150422' of git://git.infradead.org/linux-mtd

Pull MTD updates from Brian Norris:
 "Common MTD:

   - Add Kconfig option for keeping both the 'master' and 'partition'
     MTDs registered as devices.  This would really make a better
     default if we could do it over, as it allows a lot more flexibility
     in (1) determining the flash topology of the system from user-space
     and (2) adding temporary partitions at runtime (ioctl(BLKPG)).

     Unfortunately, this would possibly cause user-space breakage, as it
     will cause renumbering of the /dev/mtdX devices.  We'll see if we
     can change this in the future, as there have already been a few
     people looking for this feature, and I know others have just been
     working around our current limitations instead of fixing them this
     way.

   - Along with the previous change, add some additional information to
     sysfs, so user-space can read the offset of each partition within
     its master device

  SPI NOR:

   - add new device tree compatible binding to represent the
     mostly-compatible class of SPI NOR flash which can be detected by
     their extended JEDEC ID bytes, cutting down the duplication of our
     ID tables

   - misc.  new IDs

  Various other miscellaneous fixes and changes"

* tag 'for-linus-20150422' of git://git.infradead.org/linux-mtd: (53 commits)
  mtd: spi-nor: Add support for Macronix mx25u6435f serial flash
  mtd: spi-nor: Add support for Winbond w25q64dw serial flash
  mtd: spi-nor: add support for the Winbond W25X05 flash
  mtd: spi-nor: support en25s64 device
  mtd: m25p80: bind to "nor-jedec" ID, for auto-detection
  Documentation: devicetree: m25p80: add "nor-jedec" binding
  mtd: Make MTD tests cancelable
  mtd: mtd_oobtest: Fix bitflip_limit usage in test case 3
  mtd: docg3: remove invalid __exit annotations
  mtd: fsl_ifc_nand: use msecs_to_jiffies for time conversion
  mtd: atmel_nand: don't map the ROM table if no pmecc table offset in DT
  mtd: atmel_nand: add a definition for the oob reserved bytes
  mtd: part: Remove partition overlap checks
  mtd: part: Add sysfs variable for offset of partition
  mtd: part: Create the master device node when partitioned
  mtd: ts5500_flash: Fix typo in MODULE_DESCRIPTION in ts5500_flash.c
  mtd: denali: Disable sub-page writes in Denali NAND driver
  mtd: pxa3xx_nand: cleanup wait_for_completion handling
  mtd: nand: gpmi: Check for scan_bbt() error
  mtd: nand: gpmi: fixup return type of wait_for_completion_timeout
  ...
parents 7c034dfd 3e550d23
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -222,3 +222,13 @@ Description:
		The number of blocks that are marked as reserved, if any, in
		this partition. These are typically used to store the in-flash
		bad block table (BBT).

What:		/sys/class/mtd/mtdX/offset
Date:		March 2015
KernelVersion:	4.1
Contact:	linux-mtd@lists.infradead.org
Description:
		For a partition, the offset of that partition from the start
		of the master device in bytes. This attribute is absent on
		main devices, so it can be used to distinguish between
		partitions and devices that aren't partitions.
+8 −5
Original line number Diff line number Diff line
@@ -3,10 +3,13 @@
Required properties:
- #address-cells, #size-cells : Must be present if the device has sub-nodes
  representing partitions.
- compatible : Should be the manufacturer and the name of the chip. Bear in mind
               the DT binding is not Linux-only, but in case of Linux, see the
               "spi_nor_ids" table in drivers/mtd/spi-nor/spi-nor.c for the list
               of supported chips.
- compatible : May include a device-specific string consisting of the
               manufacturer and name of the chip. Bear in mind the DT binding
               is not Linux-only, but in case of Linux, see the "m25p_ids"
               table in drivers/mtd/devices/m25p80.c for the list of supported
               chips.
               Must also include "nor-jedec" for any SPI NOR flash that can be
               identified by the JEDEC READ ID opcode (0x9F).
- reg : Chip-Select number
- spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at

@@ -22,7 +25,7 @@ Example:
	flash: m25p80@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "spansion,m25p80";
		compatible = "spansion,m25p80", "nor-jedec";
		reg = <0>;
		spi-max-frequency = <40000000>;
		m25p,fast-read;
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ Optional properties:
 - marvell,nand-enable-arbiter:	Set to enable the bus arbiter
 - marvell,nand-keep-config:	Set to keep the NAND controller config as set
				by the bootloader
 - num-cs:			Number of chipselect lines to usw
 - num-cs:			Number of chipselect lines to use
 - nand-on-flash-bbt: 		boolean to enable on flash bbt option if
				not present false
 - nand-ecc-strength:           number of bits to correct per ECC step
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ Optional properties:
- nand-ecc-mode : one of the supported ECC modes ("hw", "hw_syndrome", "soft",
  "soft_bch" or "none")

see Documentation/devicetree/mtd/nand.txt for generic bindings.
see Documentation/devicetree/bindings/mtd/nand.txt for generic bindings.


Examples:
+13 −0
Original line number Diff line number Diff line
@@ -309,6 +309,19 @@ config MTD_SWAP
	  The driver provides wear leveling by storing erase counter into the
	  OOB.

config MTD_PARTITIONED_MASTER
	bool "Retain master device when partitioned"
	default n
	depends on MTD
	help
	  For historical reasons, by default, either a master is present or
	  several partitions are present, but not both. The concern was that
	  data listed in multiple partitions was dangerous; however, SCSI does
	  this and it is frequently useful for applications. This config option
	  leaves the master in even if the device is partitioned. It also makes
	  the parent of the partition device be the master device, rather than
	  what lies behind the master.

source "drivers/mtd/chips/Kconfig"

source "drivers/mtd/maps/Kconfig"
Loading