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

Boris Brezillon boris.brezillon at free-electrons.com
Sun Nov 1 00:59:45 PDT 2015


On Fri, 30 Oct 2015 20:33:19 -0700
Brian Norris <computersforpeace at gmail.com> wrote:

> 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 at ff130000/flash at 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!

Looks all good to me,

Reviewed-by: Boris Brezillon <boris.brezillon at free-electrons.com>

> 
> 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(-)
> 



-- 
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com



More information about the linux-mtd mailing list