projects/linux·commit eb8322d7

Merge tag 'mtd/for-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux

eb8322d7 · Linus Torvalds <[email protected]> · 2023-04-25 17:23:42 -07:00

Pull mtd updates from Miquel Raynal:
 "Core MTD changes:
   - dt-bindings: Drop unneeded quotes
   - mtdblock: Tolerate corrected bit-flips
   - Use of_property_read_bool() for boolean properties
   - Avoid magic values
   - Avoid printing error messages on probe deferrals
   - Prepare mtd_otp_nvmem_add() to handle -EPROBE_DEFER
   - Fix error path for nvmem provider
   - Fix nvmem error reporting
   - Provide unique name for nvmem device

  MTD device changes:
   - lpddr_cmds: Remove unused words variable
   - bcm63xxpart: Remove MODULE_LICENSE in non-modules

  SPI NOR core changes:
   - Introduce Read While Write support for flashes featuring several
     banks
   - Set the 4-Byte Address Mode method based on SFDP data
   - Allow post_sfdp hook to return errors
   - Parse SCCR MC table and introduce support for multi-chip devices

  SPI NOR manufacturer drivers changes:
   - macronix: Add support for mx25uw51245g with RWW
   - spansion:
      - Determine current address mode at runtime as it can be changed
        in a non-volatile way and differ from factory defaults or from
        what SFDP advertises.
      - Enable JFFS2 write buffer mode for few ECC'd NOR flashes:
        S25FS256T, s25hx and s28hx
      - Add support for s25hl02gt and s25hs02gt

  Raw NAND core changes:
   - Convert to platform remove callback returning void
   - Fix spelling mistake waifunc() -> waitfunc()

  Raw NAND controller driver changes:
   - imx: Remove unused is_imx51_nfc and imx53_nfc functions
   - omap2: Drop obsolete dependency on COMPILE_TEST
   - orion: Use devm_platform_ioremap_resource()
   - qcom:
      - Use of_property_present() for testing DT property presence
      - Use devm_platform_get_and_ioremap_resource()
   - stm32_fmc2: Depends on ARCH_STM32 instead of MACH_STM32MP157
   - tmio: Remove reference to config MTD_NAND_TMIO in the parsers

  Raw NAND manufacturer driver changes:
   - hynix: Fix up bit 0 of sdr_timing_mode

  SPI-NAND changes:
   - Add support for ESMT F50x1G41LB"

* tag 'mtd/for-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (55 commits)
  mtd: nand: Convert to platform remove callback returning void
  mtd: onenand: omap2: Drop obsolete dependency on COMPILE_TEST
  mtd: spi-nor: spansion: Add support for s25hl02gt and s25hs02gt
  mtd: spi-nor: spansion: Add a new ->ready() hook for multi-chip device
  mtd: spi-nor: spansion: Rework cypress_nor_quad_enable_volatile() for multi-chip device support
  mtd: spi-nor: spansion: Rework cypress_nor_get_page_size() for multi-chip device support
  mtd: spi-nor: sfdp: Add support for SCCR map for multi-chip device
  mtd: spi-nor: Extract volatile register offset from SCCR map
  mtd: spi-nor: Allow post_sfdp hook to return errors
  mtd: spi-nor: spansion: Rename method to cypress_nor_get_page_size
  mtd: spi-nor: spansion: Enable JFFS2 write buffer for S25FS256T
  mtd: spi-nor: spansion: Enable JFFS2 write buffer for Infineon s25hx SEMPER flash
  mtd: spi-nor: spansion: Enable JFFS2 write buffer for Infineon s28hx SEMPER flash
  mtd: spi-nor: spansion: Determine current address mode
  mtd: spi-nor: core: Introduce spi_nor_set_4byte_addr_mode()
  mtd: spi-nor: core: Update flash's current address mode when changing address mode
  mtd: spi-nor: Stop exporting spi_nor_restore()
  mtd: spi-nor: Set the 4-Byte Address Mode method based on SFDP data
  mtd: spi-nor: core: Make spi_nor_set_4byte_addr_mode_brwr public
  mtd: spi-nor: core: Update name and description of spi_nor_set_4byte_addr_mode
  ...
Commit
eb8322d714ea98fdc620d682fb517b50ea282aa5
Parents
2c96606a · 7227aacb

Merge commit. Changes below are compared with the first parent: 2c96606a.

Changes

100 files changed · +1395 −429

FileStatusAddDelContent
Documentation/devicetree/bindings/mtd/allwinner,sun4i-a10-nand.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/arasan,nand-controller.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/arm,pl353-nand-r2p1.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/gpmi-nand.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/intel,lgm-ebunand.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/jedec,spi-nor.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/mtd-physmap.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/mxc-nand.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/nand-chip.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/nand-controller.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/partitions/linksys,ns-partitions.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/qcom,nandc.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/renesas-nandc.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/rockchip,nand-controller.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/spi-nand.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/st,stm32-fmc2-nand.yamlmodified+1−1View file
Documentation/devicetree/bindings/mtd/ti,gpmc-nand.yamlmodified+2−2View file
Documentation/devicetree/bindings/mtd/ti,gpmc-onenand.yamlmodified+2−2View file
Documentation/driver-api/mtd/spi-nor.rstmodified+0−3View file
drivers/mtd/devices/spear_smi.cmodified+2−2View file
drivers/mtd/lpddr/lpddr_cmds.cmodified+2−5View file
drivers/mtd/maps/sun_uflash.cmodified+1−1View file
drivers/mtd/mtdblock_ro.cmodified+3−1View file
drivers/mtd/mtdcore.cmodified+22−17View file
drivers/mtd/nand/ecc-mxic.cmodified+2−4View file
drivers/mtd/nand/onenand/Kconfigmodified+1−1View file
drivers/mtd/nand/onenand/generic.cmodified+2−4View file
drivers/mtd/nand/onenand/onenand_omap2.cmodified+2−4View file
drivers/mtd/nand/onenand/onenand_samsung.cmodified+2−4View file
drivers/mtd/nand/raw/Kconfigmodified+1−1View file
drivers/mtd/nand/raw/ams-delta.cmodified+2−4View file
drivers/mtd/nand/raw/arasan-nand-controller.cmodified+2−4View file
drivers/mtd/nand/raw/atmel/nand-controller.cmodified+2−4View file
drivers/mtd/nand/raw/au1550nd.cmodified+2−3View file
drivers/mtd/nand/raw/bcm47xxnflash/main.cmodified+2−4View file
drivers/mtd/nand/raw/cadence-nand-controller.cmodified+2−4View file
drivers/mtd/nand/raw/davinci_nand.cmodified+2−4View file
drivers/mtd/nand/raw/denali_dt.cmodified+2−4View file
drivers/mtd/nand/raw/fsl_elbc_nand.cmodified+2−4View file
drivers/mtd/nand/raw/fsl_ifc_nand.cmodified+2−4View file
drivers/mtd/nand/raw/fsl_upm.cmodified+2−4View file
drivers/mtd/nand/raw/fsmc_nand.cmodified+3−5View file
drivers/mtd/nand/raw/gpio.cmodified+2−4View file
drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.cmodified+2−3View file
drivers/mtd/nand/raw/hisi504_nand.cmodified+2−4View file
drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.cmodified+2−4View file
drivers/mtd/nand/raw/intel-nand-controller.cmodified+2−4View file
drivers/mtd/nand/raw/lpc32xx_mlc.cmodified+2−4View file
drivers/mtd/nand/raw/lpc32xx_slc.cmodified+2−4View file
drivers/mtd/nand/raw/marvell_nand.cmodified+2−4View file
drivers/mtd/nand/raw/meson_nand.cmodified+2−4View file
drivers/mtd/nand/raw/mpc5121_nfc.cmodified+2−4View file
drivers/mtd/nand/raw/mtk_nand.cmodified+2−4View file
drivers/mtd/nand/raw/mxc_nand.cmodified+2−14View file
drivers/mtd/nand/raw/mxic_nand.cmodified+2−3View file
drivers/mtd/nand/raw/nand_hynix.cmodified+13−0View file
drivers/mtd/nand/raw/nand_macronix.cmodified+2−3View file
drivers/mtd/nand/raw/ndfc.cmodified+2−4View file
drivers/mtd/nand/raw/omap2.cmodified+2−3View file
drivers/mtd/nand/raw/omap_elm.cmodified+2−3View file
drivers/mtd/nand/raw/orion_nand.cmodified+3−7View file
drivers/mtd/nand/raw/oxnas_nand.cmodified+2−4View file
drivers/mtd/nand/raw/pasemi_nand.cmodified+2−4View file
drivers/mtd/nand/raw/pl35x-nand-controller.cmodified+2−4View file
drivers/mtd/nand/raw/plat_nand.cmodified+2−4View file
drivers/mtd/nand/raw/qcom_nandc.cmodified+4−7View file
drivers/mtd/nand/raw/renesas-nand-controller.cmodified+2−4View file
drivers/mtd/nand/raw/rockchip-nand-controller.cmodified+2−4View file
drivers/mtd/nand/raw/s3c2410.cmodified+3−5View file
drivers/mtd/nand/raw/sh_flctl.cmodified+2−4View file
drivers/mtd/nand/raw/sharpsl.cmodified+2−4View file
drivers/mtd/nand/raw/socrates_nand.cmodified+2−4View file
drivers/mtd/nand/raw/stm32_fmc2_nand.cmodified+2−4View file
drivers/mtd/nand/raw/sunxi_nand.cmodified+2−4View file
drivers/mtd/nand/raw/tegra_nand.cmodified+2−4View file
drivers/mtd/nand/raw/vf610_nfc.cmodified+2−3View file
drivers/mtd/nand/raw/xway_nand.cmodified+2−4View file
drivers/mtd/nand/spi/Makefilemodified+2−1View file
drivers/mtd/nand/spi/core.cmodified+1−0View file
drivers/mtd/nand/spi/esmt.cadded+135−0View file
drivers/mtd/parsers/Kconfigmodified+1−1View file
drivers/mtd/parsers/bcm63xxpart.cmodified+0−1View file
drivers/mtd/spi-nor/controllers/nxp-spifi.cmodified+2−2View file
drivers/mtd/spi-nor/core.cmodified+469−33View file
drivers/mtd/spi-nor/core.hmodified+29−7View file
drivers/mtd/spi-nor/debugfs.cmodified+2−0View file
drivers/mtd/spi-nor/macronix.cmodified+10−1View file
drivers/mtd/spi-nor/micron-st.cmodified+9−27View file
drivers/mtd/spi-nor/otp.cmodified+4−4View file
drivers/mtd/spi-nor/sfdp.cmodified+102−5View file
drivers/mtd/spi-nor/sfdp.hmodified+27−0View file
drivers/mtd/spi-nor/spansion.cmodified+396−64View file
drivers/mtd/spi-nor/sst.cmodified+1−1View file
drivers/mtd/spi-nor/swp.cmodified+3−3View file
drivers/mtd/spi-nor/winbond.cmodified+15−9View file
drivers/mtd/spi-nor/xilinx.cmodified+1−0View file
include/linux/mtd/rawnand.hmodified+1−1View file
include/linux/mtd/spi-nor.hmodified+13−6View file
include/linux/mtd/spinand.hmodified+1−0View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/devicetree/bindings/mtd/allwinner,sun4i-a10-nand.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/allwinner,sun4i-a10-nand.yaml b/Documentation/devicetree/bindings/mtd/allwinner,sun4i-a10-nand.yaml
index e7ec0c5..9a88870 100644
--- a/Documentation/devicetree/bindings/mtd/allwinner,sun4i-a10-nand.yaml
+++ b/Documentation/devicetree/bindings/mtd/allwinner,sun4i-a10-nand.yaml
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Allwinner A10 NAND Controller
allOf:
- - $ref: "nand-controller.yaml"
+ - $ref: nand-controller.yaml
maintainers:
- Chen-Yu Tsai <[email protected]>

Documentation/devicetree/bindings/mtd/arasan,nand-controller.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/arasan,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/arasan,nand-controller.yaml
index d028269..2fe53cb 100644
--- a/Documentation/devicetree/bindings/mtd/arasan,nand-controller.yaml
+++ b/Documentation/devicetree/bindings/mtd/arasan,nand-controller.yaml
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Arasan NAND Flash Controller with ONFI 3.1 support
allOf:
- - $ref: "nand-controller.yaml"
+ - $ref: nand-controller.yaml
maintainers:
- Naga Sureshkumar Relli <[email protected]>

Documentation/devicetree/bindings/mtd/arm,pl353-nand-r2p1.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/arm,pl353-nand-r2p1.yaml b/Documentation/devicetree/bindings/mtd/arm,pl353-nand-r2p1.yaml
index e552875..f8c0f60 100644
--- a/Documentation/devicetree/bindings/mtd/arm,pl353-nand-r2p1.yaml
+++ b/Documentation/devicetree/bindings/mtd/arm,pl353-nand-r2p1.yaml
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: PL353 NAND Controller
allOf:
- - $ref: "nand-controller.yaml"
+ - $ref: nand-controller.yaml
maintainers:
- Miquel Raynal <[email protected]>

Documentation/devicetree/bindings/mtd/gpmi-nand.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml b/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml
index 8487089..ba086c3 100644
--- a/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml
+++ b/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml
@@ -93,7 +93,7 @@ required:
unevaluatedProperties: false
allOf:
- - $ref: "nand-controller.yaml"
+ - $ref: nand-controller.yaml
- if:
properties:

Documentation/devicetree/bindings/mtd/intel,lgm-ebunand.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/intel,lgm-ebunand.yaml b/Documentation/devicetree/bindings/mtd/intel,lgm-ebunand.yaml
index 8c62c7d..cc3def7 100644
--- a/Documentation/devicetree/bindings/mtd/intel,lgm-ebunand.yaml
+++ b/Documentation/devicetree/bindings/mtd/intel,lgm-ebunand.yaml
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Intel LGM SoC NAND Controller
allOf:
- - $ref: "nand-controller.yaml"
+ - $ref: nand-controller.yaml
maintainers:
- Ramuthevar Vadivel Murugan <[email protected]>

Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml b/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml
index 5473636..89959e5 100644
--- a/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml
+++ b/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml
@@ -10,7 +10,7 @@ maintainers:
- Rob Herring <[email protected]>
allOf:
- - $ref: "mtd.yaml#"
+ - $ref: mtd.yaml#
- $ref: /schemas/spi/spi-peripheral-props.yaml#
properties:

Documentation/devicetree/bindings/mtd/mtd-physmap.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/mtd-physmap.yaml b/Documentation/devicetree/bindings/mtd/mtd-physmap.yaml
index 44cd447..f8c9768 100644
--- a/Documentation/devicetree/bindings/mtd/mtd-physmap.yaml
+++ b/Documentation/devicetree/bindings/mtd/mtd-physmap.yaml
@@ -14,7 +14,7 @@ description: |
file systems on embedded devices.
allOf:
- - $ref: "mtd.yaml#"
+ - $ref: mtd.yaml#
- $ref: /schemas/memory-controllers/mc-peripheral-props.yaml#
properties:

Documentation/devicetree/bindings/mtd/mxc-nand.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/mxc-nand.yaml b/Documentation/devicetree/bindings/mtd/mxc-nand.yaml
index 7f6f7c9..cf4198e 100644
--- a/Documentation/devicetree/bindings/mtd/mxc-nand.yaml
+++ b/Documentation/devicetree/bindings/mtd/mxc-nand.yaml
@@ -10,7 +10,7 @@ maintainers:
- Uwe Kleine-König <[email protected]>
allOf:
- - $ref: "nand-controller.yaml"
+ - $ref: nand-controller.yaml
properties:
compatible:

Documentation/devicetree/bindings/mtd/nand-chip.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/nand-chip.yaml b/Documentation/devicetree/bindings/mtd/nand-chip.yaml
index 33d079f..609d4a4 100644
--- a/Documentation/devicetree/bindings/mtd/nand-chip.yaml
+++ b/Documentation/devicetree/bindings/mtd/nand-chip.yaml
@@ -10,7 +10,7 @@ maintainers:
- Miquel Raynal <[email protected]>
allOf:
- - $ref: "mtd.yaml#"
+ - $ref: mtd.yaml#
description: |
This file covers the generic description of a NAND chip. It implies that the

Documentation/devicetree/bindings/mtd/nand-controller.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/nand-controller.yaml b/Documentation/devicetree/bindings/mtd/nand-controller.yaml
index efcd415..f70a32d 100644
--- a/Documentation/devicetree/bindings/mtd/nand-controller.yaml
+++ b/Documentation/devicetree/bindings/mtd/nand-controller.yaml
@@ -51,7 +51,7 @@ properties:
patternProperties:
"^nand@[a-f0-9]$":
- $ref: "nand-chip.yaml#"
+ $ref: nand-chip.yaml#
properties:
reg:

Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml
index 5bbb1c0..94f0742 100644
--- a/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml
+++ b/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml
@@ -31,7 +31,7 @@ properties:
patternProperties:
"^partition@[0-9a-f]+$":
- $ref: "partition.yaml#"
+ $ref: partition.yaml#
properties:
compatible:
const: brcm,bcm4908-firmware

Documentation/devicetree/bindings/mtd/partitions/linksys,ns-partitions.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/partitions/linksys,ns-partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/linksys,ns-partitions.yaml
index 213858f..c5fa78f 100644
--- a/Documentation/devicetree/bindings/mtd/partitions/linksys,ns-partitions.yaml
+++ b/Documentation/devicetree/bindings/mtd/partitions/linksys,ns-partitions.yaml
@@ -32,7 +32,7 @@ properties:
patternProperties:
"^partition@[0-9a-f]+$":
- $ref: "partition.yaml#"
+ $ref: partition.yaml#
properties:
compatible:
items:

Documentation/devicetree/bindings/mtd/qcom,nandc.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml b/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml
index 07024ee..00c991f 100644
--- a/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml
+++ b/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml
@@ -46,7 +46,7 @@ patternProperties:
- 512
allOf:
- - $ref: "nand-controller.yaml#"
+ - $ref: nand-controller.yaml#
- if:
properties:

Documentation/devicetree/bindings/mtd/renesas-nandc.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/renesas-nandc.yaml b/Documentation/devicetree/bindings/mtd/renesas-nandc.yaml
index f0dc78b..cc6b827 100644
--- a/Documentation/devicetree/bindings/mtd/renesas-nandc.yaml
+++ b/Documentation/devicetree/bindings/mtd/renesas-nandc.yaml
@@ -10,7 +10,7 @@ maintainers:
- Miquel Raynal <[email protected]>
allOf:
- - $ref: "nand-controller.yaml"
+ - $ref: nand-controller.yaml
properties:
compatible:

Documentation/devicetree/bindings/mtd/rockchip,nand-controller.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/rockchip,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/rockchip,nand-controller.yaml
index 566f330..7eb1d0a 100644
--- a/Documentation/devicetree/bindings/mtd/rockchip,nand-controller.yaml
+++ b/Documentation/devicetree/bindings/mtd/rockchip,nand-controller.yaml
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Rockchip SoCs NAND FLASH Controller (NFC)
allOf:
- - $ref: "nand-controller.yaml#"
+ - $ref: nand-controller.yaml#
maintainers:
- Heiko Stuebner <[email protected]>

Documentation/devicetree/bindings/mtd/spi-nand.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/spi-nand.yaml b/Documentation/devicetree/bindings/mtd/spi-nand.yaml
index 4d095e6..77a8727 100644
--- a/Documentation/devicetree/bindings/mtd/spi-nand.yaml
+++ b/Documentation/devicetree/bindings/mtd/spi-nand.yaml
@@ -10,7 +10,7 @@ maintainers:
- Miquel Raynal <[email protected]>
allOf:
- - $ref: "nand-chip.yaml#"
+ - $ref: nand-chip.yaml#
- $ref: /schemas/spi/spi-peripheral-props.yaml#
properties:

Documentation/devicetree/bindings/mtd/st,stm32-fmc2-nand.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/st,stm32-fmc2-nand.yaml b/Documentation/devicetree/bindings/mtd/st,stm32-fmc2-nand.yaml
index 19cf1f1..986e85c 100644
--- a/Documentation/devicetree/bindings/mtd/st,stm32-fmc2-nand.yaml
+++ b/Documentation/devicetree/bindings/mtd/st,stm32-fmc2-nand.yaml
@@ -45,7 +45,7 @@ patternProperties:
enum: [1, 4, 8]
allOf:
- - $ref: "nand-controller.yaml#"
+ - $ref: nand-controller.yaml#
- if:
properties:

Documentation/devicetree/bindings/mtd/ti,gpmc-nand.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/ti,gpmc-nand.yaml b/Documentation/devicetree/bindings/mtd/ti,gpmc-nand.yaml
index 4ac1988..115682f 100644
--- a/Documentation/devicetree/bindings/mtd/ti,gpmc-nand.yaml
+++ b/Documentation/devicetree/bindings/mtd/ti,gpmc-nand.yaml
@@ -63,10 +63,10 @@ properties:
patternProperties:
"@[0-9a-f]+$":
- $ref: "/schemas/mtd/partitions/partition.yaml"
+ $ref: /schemas/mtd/partitions/partition.yaml
allOf:
- - $ref: "/schemas/memory-controllers/ti,gpmc-child.yaml"
+ - $ref: /schemas/memory-controllers/ti,gpmc-child.yaml
required:
- compatible

Documentation/devicetree/bindings/mtd/ti,gpmc-onenand.yaml

View file
diff --git a/Documentation/devicetree/bindings/mtd/ti,gpmc-onenand.yaml b/Documentation/devicetree/bindings/mtd/ti,gpmc-onenand.yaml
index 8a79ad3..7d3ace4 100644
--- a/Documentation/devicetree/bindings/mtd/ti,gpmc-onenand.yaml
+++ b/Documentation/devicetree/bindings/mtd/ti,gpmc-onenand.yaml
@@ -36,10 +36,10 @@ properties:
patternProperties:
"@[0-9a-f]+$":
- $ref: "/schemas/mtd/partitions/partition.yaml"
+ $ref: /schemas/mtd/partitions/partition.yaml
allOf:
- - $ref: "/schemas/memory-controllers/ti,gpmc-child.yaml"
+ - $ref: /schemas/memory-controllers/ti,gpmc-child.yaml
required:
- compatible

Documentation/driver-api/mtd/spi-nor.rst

View file
diff --git a/Documentation/driver-api/mtd/spi-nor.rst b/Documentation/driver-api/mtd/spi-nor.rst
index 4a3adca..c22f8c0 100644
--- a/Documentation/driver-api/mtd/spi-nor.rst
+++ b/Documentation/driver-api/mtd/spi-nor.rst
@@ -63,6 +63,3 @@ The main API is spi_nor_scan(). Before you call the hook, a driver should
initialize the necessary fields for spi_nor{}. Please see
drivers/mtd/spi-nor/spi-nor.c for detail. Please also refer to spi-fsl-qspi.c
when you want to write a new driver for a SPI NOR controller.
-Another API is spi_nor_restore(), this is used to restore the status of SPI
-flash chip such as addressing mode. Call it whenever detach the driver from
-device or reboot the system.

drivers/mtd/devices/spear_smi.c

View file
diff --git a/drivers/mtd/devices/spear_smi.c b/drivers/mtd/devices/spear_smi.c
index f587424..cc17133 100644
--- a/drivers/mtd/devices/spear_smi.c
+++ b/drivers/mtd/devices/spear_smi.c
@@ -820,8 +820,8 @@ static int spear_smi_probe_config_dt(struct platform_device *pdev,
pdata->board_flash_info->mem_base = be32_to_cpup(&addr[0]);
pdata->board_flash_info->size = be32_to_cpup(&addr[1]);
- if (of_get_property(pp, "st,smi-fast-mode", NULL))
- pdata->board_flash_info->fast_mode = 1;
+ pdata->board_flash_info->fast_mode =
+ of_property_read_bool(pp, "st,smi-fast-mode");
i++;
}

drivers/mtd/lpddr/lpddr_cmds.c

View file
diff --git a/drivers/mtd/lpddr/lpddr_cmds.c b/drivers/mtd/lpddr/lpddr_cmds.c
index ee063ba..3c3939b 100644
--- a/drivers/mtd/lpddr/lpddr_cmds.c
+++ b/drivers/mtd/lpddr/lpddr_cmds.c
@@ -406,7 +406,7 @@ static int do_write_buffer(struct map_info *map, struct flchip *chip,
{
struct lpddr_private *lpddr = map->fldrv_priv;
map_word datum;
- int ret, wbufsize, word_gap, words;
+ int ret, wbufsize, word_gap;
const struct kvec *vec;
unsigned long vec_seek;
unsigned long prog_buf_ofs;
@@ -421,10 +421,7 @@ static int do_write_buffer(struct map_info *map, struct flchip *chip,
}
/* Figure out the number of words to write */
word_gap = (-adr & (map_bankwidth(map)-1));
- words = (len - word_gap + map_bankwidth(map) - 1) / map_bankwidth(map);
- if (!word_gap) {
- words--;
- } else {
+ if (word_gap) {
word_gap = map_bankwidth(map) - word_gap;
adr -= word_gap;
datum = map_word_ff(map);

drivers/mtd/maps/sun_uflash.c

View file
diff --git a/drivers/mtd/maps/sun_uflash.c b/drivers/mtd/maps/sun_uflash.c
index 6c0c91b..860b19f 100644
--- a/drivers/mtd/maps/sun_uflash.c
+++ b/drivers/mtd/maps/sun_uflash.c
@@ -112,7 +112,7 @@ static int uflash_probe(struct platform_device *op)
/* Flashprom must have the "user" property in order to
* be used by this driver.
*/
- if (!of_find_property(dp, "user", NULL))
+ if (!of_property_read_bool(dp, "user"))
return -ENODEV;
return uflash_devinit(op, dp);

drivers/mtd/mtdblock_ro.c

View file
diff --git a/drivers/mtd/mtdblock_ro.c b/drivers/mtd/mtdblock_ro.c
index 7c51952..66ffc9f 100644
--- a/drivers/mtd/mtdblock_ro.c
+++ b/drivers/mtd/mtdblock_ro.c
@@ -16,8 +16,10 @@ static int mtdblock_readsect(struct mtd_blktrans_dev *dev,
unsigned long block, char *buf)
{
size_t retlen;
+ int err;
- if (mtd_read(dev->mtd, (block * 512), 512, &retlen, buf))
+ err = mtd_read(dev->mtd, (block * 512), 512, &retlen, buf);
+ if (err && !mtd_is_bitflip(err))
return 1;
return 0;
}

drivers/mtd/mtdcore.c

View file
diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
index 0feacb9..a1a08c2 100644
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
@@ -519,7 +519,7 @@ static int mtd_nvmem_add(struct mtd_info *mtd)
struct device_node *node = mtd_get_of_node(mtd);
struct nvmem_config config = {};
- config.id = -1;
+ config.id = NVMEM_DEVID_NONE;
config.dev = &mtd->dev;
config.name = dev_name(&mtd->dev);
config.owner = THIS_MODULE;
@@ -536,12 +536,11 @@ static int mtd_nvmem_add(struct mtd_info *mtd)
mtd->nvmem = nvmem_register(&config);
if (IS_ERR(mtd->nvmem)) {
/* Just ignore if there is no NVMEM support in the kernel */
- if (PTR_ERR(mtd->nvmem) == -EOPNOTSUPP) {
+ if (PTR_ERR(mtd->nvmem) == -EOPNOTSUPP)
mtd->nvmem = NULL;
- } else {
- dev_err(&mtd->dev, "Failed to register NVMEM device\n");
- return PTR_ERR(mtd->nvmem);
- }
+ else
+ return dev_err_probe(&mtd->dev, PTR_ERR(mtd->nvmem),
+ "Failed to register NVMEM device\n");
}
return 0;
@@ -739,7 +738,7 @@ int add_mtd_device(struct mtd_info *mtd)
mutex_unlock(&mtd_table_mutex);
- if (of_find_property(mtd_get_of_node(mtd), "linux,rootfs", NULL)) {
+ if (of_property_read_bool(mtd_get_of_node(mtd), "linux,rootfs")) {
if (IS_BUILTIN(CONFIG_MTD)) {
pr_info("mtd: setting mtd%d (%s) as root device\n", mtd->index, mtd->name);
ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, mtd->index);
@@ -888,8 +887,8 @@ static struct nvmem_device *mtd_otp_nvmem_register(struct mtd_info *mtd,
/* OTP nvmem will be registered on the physical device */
config.dev = mtd->dev.parent;
- config.name = kasprintf(GFP_KERNEL, "%s-%s", dev_name(&mtd->dev), compatible);
- config.id = NVMEM_DEVID_NONE;
+ config.name = compatible;
+ config.id = NVMEM_DEVID_AUTO;
config.owner = THIS_MODULE;
config.type = NVMEM_TYPE_OTP;
config.root_only = true;
@@ -905,7 +904,6 @@ static struct nvmem_device *mtd_otp_nvmem_register(struct mtd_info *mtd,
nvmem = NULL;
of_node_put(np);
- kfree(config.name);
return nvmem;
}
@@ -940,6 +938,7 @@ static int mtd_nvmem_fact_otp_reg_read(void *priv, unsigned int offset,
static int mtd_otp_nvmem_add(struct mtd_info *mtd)
{
+ struct device *dev = mtd->dev.parent;
struct nvmem_device *nvmem;
ssize_t size;
int err;
@@ -953,8 +952,8 @@ static int mtd_otp_nvmem_add(struct mtd_info *mtd)
nvmem = mtd_otp_nvmem_register(mtd, "user-otp", size,
mtd_nvmem_user_otp_reg_read);
if (IS_ERR(nvmem)) {
- dev_err(&mtd->dev, "Failed to register OTP NVMEM device\n");
- return PTR_ERR(nvmem);
+ err = PTR_ERR(nvmem);
+ goto err;
}
mtd->otp_user_nvmem = nvmem;
}
@@ -971,7 +970,6 @@ static int mtd_otp_nvmem_add(struct mtd_info *mtd)
nvmem = mtd_otp_nvmem_register(mtd, "factory-otp", size,
mtd_nvmem_fact_otp_reg_read);
if (IS_ERR(nvmem)) {
- dev_err(&mtd->dev, "Failed to register OTP NVMEM device\n");
err = PTR_ERR(nvmem);
goto err;
}
@@ -983,7 +981,7 @@ static int mtd_otp_nvmem_add(struct mtd_info *mtd)
err:
nvmem_unregister(mtd->otp_user_nvmem);
- return err;
+ return dev_err_probe(dev, err, "Failed to register OTP NVMEM device\n");
}
/**
@@ -1023,10 +1021,14 @@ int mtd_device_parse_register(struct mtd_info *mtd, const char * const *types,
mtd_set_dev_defaults(mtd);
+ ret = mtd_otp_nvmem_add(mtd);
+ if (ret)
+ goto out;
+
if (IS_ENABLED(CONFIG_MTD_PARTITIONED_MASTER)) {
ret = add_mtd_device(mtd);
if (ret)
- return ret;
+ goto out;
}
/* Prefer parsed partitions over driver-provided fallback */
@@ -1061,9 +1063,12 @@ int mtd_device_parse_register(struct mtd_info *mtd, const char * const *types,
register_reboot_notifier(&mtd->reboot_notifier);
}
- ret = mtd_otp_nvmem_add(mtd);
-
out:
+ if (ret) {
+ nvmem_unregister(mtd->otp_user_nvmem);
+ nvmem_unregister(mtd->otp_factory_nvmem);
+ }
+
if (ret && device_is_registered(&mtd->dev))
del_mtd_device(mtd);

drivers/mtd/nand/ecc-mxic.c

View file
diff --git a/drivers/mtd/nand/ecc-mxic.c b/drivers/mtd/nand/ecc-mxic.c
index 6b487ff..22a760e 100644
--- a/drivers/mtd/nand/ecc-mxic.c
+++ b/drivers/mtd/nand/ecc-mxic.c
@@ -848,13 +848,11 @@ static int mxic_ecc_probe(struct platform_device *pdev)
return 0;
}
-static int mxic_ecc_remove(struct platform_device *pdev)
+static void mxic_ecc_remove(struct platform_device *pdev)
{
struct mxic_ecc_engine *mxic = platform_get_drvdata(pdev);
nand_ecc_unregister_on_host_hw_engine(&mxic->external_engine);
-
- return 0;
}
static const struct of_device_id mxic_ecc_of_ids[] = {
@@ -871,7 +869,7 @@ static struct platform_driver mxic_ecc_driver = {
.of_match_table = mxic_ecc_of_ids,
},
.probe = mxic_ecc_probe,
- .remove = mxic_ecc_remove,
+ .remove_new = mxic_ecc_remove,
};
module_platform_driver(mxic_ecc_driver);

drivers/mtd/nand/onenand/Kconfig

View file
diff --git a/drivers/mtd/nand/onenand/Kconfig b/drivers/mtd/nand/onenand/Kconfig
index c94bf48..7d57836 100644
--- a/drivers/mtd/nand/onenand/Kconfig
+++ b/drivers/mtd/nand/onenand/Kconfig
@@ -25,7 +25,7 @@ config MTD_ONENAND_GENERIC
config MTD_ONENAND_OMAP2
tristate "OneNAND on OMAP2/OMAP3 support"
depends on ARCH_OMAP2 || ARCH_OMAP3 || (COMPILE_TEST && ARM)
- depends on OF || COMPILE_TEST
+ depends on OF
depends on OMAP_GPMC
help
Support for a OneNAND flash device connected to an OMAP2/OMAP3 SoC

drivers/mtd/nand/onenand/generic.c

View file
diff --git a/drivers/mtd/nand/onenand/generic.c b/drivers/mtd/nand/onenand/generic.c
index a4b8b65..4e7de48 100644
--- a/drivers/mtd/nand/onenand/generic.c
+++ b/drivers/mtd/nand/onenand/generic.c
@@ -85,7 +85,7 @@ out_free_info:
return err;
}
-static int generic_onenand_remove(struct platform_device *pdev)
+static void generic_onenand_remove(struct platform_device *pdev)
{
struct onenand_info *info = platform_get_drvdata(pdev);
struct resource *res = pdev->resource;
@@ -97,8 +97,6 @@ static int generic_onenand_remove(struct platform_device *pdev)
iounmap(info->onenand.base);
kfree(info);
}
-
- return 0;
}
static struct platform_driver generic_onenand_driver = {
@@ -106,7 +104,7 @@ static struct platform_driver generic_onenand_driver = {
.name = DRIVER_NAME,
},
.probe = generic_onenand_probe,
- .remove = generic_onenand_remove,
+ .remove_new = generic_onenand_remove,
};
module_platform_driver(generic_onenand_driver);

drivers/mtd/nand/onenand/onenand_omap2.c

View file
diff --git a/drivers/mtd/nand/onenand/onenand_omap2.c b/drivers/mtd/nand/onenand/onenand_omap2.c
index 12825eb..ff7af98 100644
--- a/drivers/mtd/nand/onenand/onenand_omap2.c
+++ b/drivers/mtd/nand/onenand/onenand_omap2.c
@@ -581,7 +581,7 @@ err_release_dma:
return r;
}
-static int omap2_onenand_remove(struct platform_device *pdev)
+static void omap2_onenand_remove(struct platform_device *pdev)
{
struct omap2_onenand *c = dev_get_drvdata(&pdev->dev);
@@ -589,8 +589,6 @@ static int omap2_onenand_remove(struct platform_device *pdev)
if (c->dma_chan)
dma_release_channel(c->dma_chan);
omap2_onenand_shutdown(pdev);
-
- return 0;
}
static const struct of_device_id omap2_onenand_id_table[] = {
@@ -601,7 +599,7 @@ MODULE_DEVICE_TABLE(of, omap2_onenand_id_table);
static struct platform_driver omap2_onenand_driver = {
.probe = omap2_onenand_probe,
- .remove = omap2_onenand_remove,
+ .remove_new = omap2_onenand_remove,
.shutdown = omap2_onenand_shutdown,
.driver = {
.name = DRIVER_NAME,

drivers/mtd/nand/onenand/onenand_samsung.c

View file
diff --git a/drivers/mtd/nand/onenand/onenand_samsung.c b/drivers/mtd/nand/onenand/onenand_samsung.c
index b648955..92151aa 100644
--- a/drivers/mtd/nand/onenand/onenand_samsung.c
+++ b/drivers/mtd/nand/onenand/onenand_samsung.c
@@ -943,13 +943,11 @@ static int s3c_onenand_probe(struct platform_device *pdev)
return 0;
}
-static int s3c_onenand_remove(struct platform_device *pdev)
+static void s3c_onenand_remove(struct platform_device *pdev)
{
struct mtd_info *mtd = platform_get_drvdata(pdev);
onenand_release(mtd);
-
- return 0;
}
static int s3c_pm_ops_suspend(struct device *dev)
@@ -996,7 +994,7 @@ static struct platform_driver s3c_onenand_driver = {
},
.id_table = s3c_onenand_driver_ids,
.probe = s3c_onenand_probe,
- .remove = s3c_onenand_remove,
+ .remove_new = s3c_onenand_remove,
};
module_platform_driver(s3c_onenand_driver);

drivers/mtd/nand/raw/Kconfig

View file
diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig
index 170f118..b523354 100644
--- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig
@@ -373,7 +373,7 @@ config MTD_NAND_TEGRA
config MTD_NAND_STM32_FMC2
tristate "Support for NAND controller on STM32MP SoCs"
- depends on MACH_STM32MP157 || COMPILE_TEST

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/ams-delta.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/arasan-nand-controller.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/atmel/nand-controller.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/au1550nd.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/bcm47xxnflash/main.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/cadence-nand-controller.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/davinci_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/denali_dt.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/fsl_elbc_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/fsl_ifc_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/fsl_upm.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/fsmc_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/gpio.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/hisi504_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/intel-nand-controller.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/lpc32xx_mlc.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/lpc32xx_slc.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/marvell_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/meson_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/mpc5121_nfc.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/mtk_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/mxc_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/mxic_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/nand_hynix.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/nand_macronix.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/ndfc.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/omap2.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/omap_elm.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/orion_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/oxnas_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/pasemi_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/pl35x-nand-controller.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/plat_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/qcom_nandc.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/renesas-nand-controller.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/rockchip-nand-controller.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/s3c2410.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/sh_flctl.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/sharpsl.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/socrates_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/stm32_fmc2_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/sunxi_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/tegra_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/vf610_nfc.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/raw/xway_nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/spi/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/spi/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/spi/esmt.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/parsers/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/parsers/bcm63xxpart.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/spi-nor/controllers/nxp-spifi.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/spi-nor/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/spi-nor/core.h

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/spi-nor/debugfs.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/spi-nor/macronix.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/spi-nor/micron-st.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/spi-nor/otp.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/spi-nor/sfdp.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/spi-nor/sfdp.h

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/spi-nor/spansion.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/spi-nor/sst.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/spi-nor/swp.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/spi-nor/winbond.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/spi-nor/xilinx.c

View file

This diff is incomplete. Download the complete patch.

include/linux/mtd/rawnand.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mtd/spi-nor.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mtd/spinand.h

View file

This diff is incomplete. Download the complete patch.