Skip to content

mtd: migrate 'of_node' handling to core, not in mtd_part_parser_data

Brian Norris linux-mtd lkml 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest11 patches 18 repliesIn review
  2. v15 patches 18 repliesSuperseded

Changes in v2 from the cover letter

* add helper functions for getting/setting the MTD/SPI-NOR/NAND DT node
* fix some build errors
* drop spi_nor's flash_node field (just use the MTD of_node)

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/11mtd: add get/set of_node/flash_node helpersinclude/linux/mtd/mtd.h include/linux/mtd/nand.h include/linux/mtd/spi-nor.h+33 -03 replies
2/11mtd: ofpart: grab device tree node directly from master device nodedrivers/mtd/ofpart.c include/linux/mtd/partitions.h+13 -90 replies
3/11mtd: {nand,spi-nor}: assign MTD of_nodedrivers/mtd/nand/nand_base.c drivers/mtd/spi-nor/spi-nor.c+4 -00 replies
4/11mtd: nand: convert to nand_set_flash_node()drivers/mtd/nand/brcmnand/brcmnand.c drivers/mtd/nand/fsmc_nand.c drivers/mtd/nand/sunxi_nand.c +1 more+4 -41 reply
5/11mtd: spi-nor: convert to spi_nor_{get,set}_flash_node()drivers/mtd/devices/m25p80.c drivers/mtd/spi-nor/fsl-quadspi.c drivers/mtd/spi-nor/nxp-spifi.c +1 more+4 -40 replies
6/11mtd: nand: drop unnecessary partition parser datadrivers/mtd/nand/atmel_nand.c drivers/mtd/nand/brcmnand/brcmnand.c drivers/mtd/nand/davinci_nand.c +21 more+54 -883 replies
7/11mtd: spi-nor: drop unnecessary partition parser datadrivers/mtd/devices/m25p80.c drivers/mtd/spi-nor/fsl-quadspi.c drivers/mtd/spi-nor/nxp-spifi.c+4 -120 replies
8/11mtd: spi-nor: drop flash_node fielddrivers/mtd/spi-nor/spi-nor.c include/linux/mtd/spi-nor.h+2 -50 replies
9/11mtd: drop unnecessary partition parser datadrivers/mtd/devices/mtd_dataflash.c drivers/mtd/devices/spear_smi.c drivers/mtd/devices/st_spi_fsm.c +3 more+13 -214 replies
10/11mtd: ofpart: drop 'of_node' partition parser datadrivers/mtd/ofpart.c include/linux/mtd/partitions.h+4 -140 replies
11/11mtd: physmap_of: assign parent for the concatenated MTDdrivers/mtd/maps/physmap_of.c+1 -00 replies

Reviews trailers per patch

3 of 11 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchBoris BrezillonMarek Vasut
SeriesR-b
1/11
2/11
3/11
4/11R-b
5/11
6/11A-b
7/11
8/11
9/11R-b
10/11
11/11

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 00/11] mtd: migrate 'of_node' handling to core, not in mtd_part_parser_data

Hi,

I noticed that, for MTD drivers that want to support DT partition parsing (essentially all recent ones), it's a bit awkward to set the tell MTD which DT node to use. I also noticed that this info is duplicated in a few places; namely, some sub-subsystems (like SPI NOR and NAND) need their own field to track the DT node, so let's have the propagate the 'MTD' DT node down for us.

Besides simplifying the boilerplate throughout MTD, this series also has the side effect of producing 'of_node' symlinks in sysfs. e.g.:

  # ls -al /sys/class/mtd/mtd0/of_node
  lrwxrwxrwx 1 root root 0 Oct 26 19:17 /sys/class/mtd/mtd0/of_node -> ../../../../firmware/devicetree/base/spi@ff130000/flash@0

For NAND, this potentially has some other bigger initial side effects, since nand_dt_init() handles a bit more automagically for drivers that defined their ->flash_node. But these drivers should probably convert anyway. So, please test your favorite driver!

v1 -> v2:
* add helper functions for getting/setting the MTD/SPI-NOR/NAND DT node
* fix some build errors
* drop spi_nor's flash_node field (just use the MTD of_node)

Regards,
Brian

Brian Norris (11):
mtd: add get/set of_node/flash_node helpers
mtd: ofpart: grab device tree node directly from master device node
mtd: {nand,spi-nor}: assign MTD of_node
mtd: nand: convert to nand_set_flash_node()
mtd: spi-nor: convert to spi_nor_{get,set}_flash_node()
mtd: nand: drop unnecessary partition parser data
mtd: spi-nor: drop unnecessary partition parser data
mtd: spi-nor: drop flash_node field
mtd: drop unnecessary partition parser data
mtd: ofpart: drop 'of_node' partition parser data
mtd: physmap_of: assign parent for the concatenated MTD

 drivers/mtd/devices/m25p80.c                  | 10 +++-------
 drivers/mtd/devices/mtd_dataflash.c           |  5 ++---
 drivers/mtd/devices/spear_smi.c               |  6 ++----
 drivers/mtd/devices/st_spi_fsm.c              |  5 ++---
 drivers/mtd/maps/lantiq-flash.c               |  5 ++---
 drivers/mtd/maps/physmap_of.c                 |  6 +++---
 drivers/mtd/nand/atmel_nand.c                 |  7 +++----
 drivers/mtd/nand/brcmnand/brcmnand.c          |  5 ++---
 drivers/mtd/nand/davinci_nand.c               | 10 +++-------
 drivers/mtd/nand/fsl_elbc_nand.c              |  5 ++---
 drivers/mtd/nand/fsl_ifc_nand.c               |  5 ++---
 drivers/mtd/nand/fsl_upm.c                    |  5 ++---
 drivers/mtd/nand/fsmc_nand.c                  |  9 ++++-----
 drivers/mtd/nand/gpio.c                       |  8 +++-----
 drivers/mtd/nand/gpmi-nand/gpmi-nand.c        |  5 ++---
 drivers/mtd/nand/hisi504_nand.c               |  5 ++---
 drivers/mtd/nand/lpc32xx_mlc.c                |  7 +++----
 drivers/mtd/nand/lpc32xx_slc.c                |  7 +++----
 drivers/mtd/nand/mpc5121_nfc.c                |  5 ++---
 drivers/mtd/nand/mxc_nand.c                   |  5 ++---
 drivers/mtd/nand/nand_base.c                  |  3 +++
 drivers/mtd/nand/ndfc.c                       |  5 ++---
 drivers/mtd/nand/omap2.c                      |  6 ++----
 drivers/mtd/nand/orion_nand.c                 |  6 ++----
 drivers/mtd/nand/plat_nand.c                  |  5 ++---
 drivers/mtd/nand/pxa3xx_nand.c                | 10 +++++-----
 drivers/mtd/nand/sh_flctl.c                   |  6 ++----
 drivers/mtd/nand/socrates_nand.c              |  5 ++---
 drivers/mtd/nand/sunxi_nand.c                 |  6 ++----
 drivers/mtd/nand/vf610_nfc.c                  |  8 ++------
 drivers/mtd/ofpart.c                          | 12 ++++--------
 drivers/mtd/onenand/omap2.c                   |  8 +++-----
 drivers/mtd/spi-nor/fsl-quadspi.c             |  6 ++----
 drivers/mtd/spi-nor/nxp-spifi.c               |  6 ++----
 drivers/mtd/spi-nor/spi-nor.c                 |  2 +-
 drivers/staging/mt29f_spinand/mt29f_spinand.c |  5 ++---
 include/linux/mtd/mtd.h                       | 11 +++++++++++
 include/linux/mtd/nand.h                      | 11 +++++++++++
 include/linux/mtd/partitions.h                |  2 --
 include/linux/mtd/spi-nor.h                   | 13 +++++++++++--
 40 files changed, 120 insertions(+), 141 deletions(-)
Signature · 1 line
2.6.0.rc2.230.g3dd15c0