[U-Boot] [PATCH v3 0/3] spi, sf: add mtdparts feature to spi and sf commands

Heiko Schocher hs at denx.de
Fri Sep 5 07:38:53 CEST 2014


This patchserie add the popssibility to define mtd partitions on
spi nor flash, and use this settings with the sf commands.

steps:

- add MTD layer driver for spi, original patch from:
http://git.denx.de/?p=u-boot/u-boot-mips.git;a=commitdiff;h=bb246819cdc90493dd7089eaa51b9e639765cced

  and addapted it to current mainline.

- move common functions to get offset and size from
  cmdline nand command to extract offset and size from
  a mtd partition to common place "drivers/mtd/mtd_uboot.c"
  maybe another place is better?

- add to the sf command the possibility to use offset and size from
  the settings in mtdparts

With this patchset, the sf command looks now:

=> sf
sf - SPI flash sub-system

Usage:
sf probe [[bus:]cs] [hz] [mode] - init flash device on given SPI bus
                                  and chip select
sf read addr offset|partition len       - read `len' bytes starting at
                                          `offset' to memory at `addr'
sf write addr offset|partition len      - write `len' bytes from memory
                                          at `addr' to flash at `offset'
sf erase offset|partition [+]len        - erase `len' bytes from `offset'
                                          `+len' round up `len' to block size
sf update addr offset|partition len     - erase and write `len' bytes from memory
                                          at `addr' to flash at `offset'
=>
for example "env" is defined in mtdparts:

=> sf read 13000000 env
device 0 offset 0xd0000, size 0x10000
SF: 65536 bytes @ 0xd0000 Read: OK
=>

There are the followings checkpatch warnings:

CHECK: Alignment should match open parenthesis
#153: FILE: common/cmd_nand.c:217:
+               if (arg_off(argv[2], &idx, &addr, &maxsize, &maxsize,
+                   MTD_DEV_TYPE_NAND, nand_info[idx].size)) {

CHECK: Alignment should match open parenthesis
#179: FILE: common/cmd_nand.c:557:
+                       if (arg_off(argv[3], &dev, &off, &size, &maxsize,
+                           MTD_DEV_TYPE_NAND, nand_info[dev].size))

CHECK: Alignment should match open parenthesis
#193: FILE: common/cmd_nand.c:576:
+                       if (arg_off_size(argc - 3, argv + 3, &dev, &off, &size,
+                           &maxsize, MTD_DEV_TYPE_NAND,

total: 0 errors, 0 warnings, 3 checks, 361 lines checked

NOTE: Ignored message types: COMPLEX_MACRO CONSIDER_KSTRTO MINMAX MULTISTATEMENT_MACRO_USE_DO_WHILE NETWORKING_BLOCK_COMMENT_STYLE USLEEP_RANGE

20140714_ml_mtdparts/0002-mtd-nand-move-common-functions-from-cmd_nand.c-to-co.patch has style problems, please review.

I see not, why this warning pops up ...

- changes for v2:
  - mtd-spi-add-MTD-layer-driver.patch
    - add comment from Daniel Schwierzeck:
      fix compile error from original patch with
      "static inline" rather than "static __maybe_unused"
- changes for v3:
  - rebase with d6c1ffc7d23f4fe4ae8c91101861055b8e1501b6
  - add comments from scott wood:
    - align MTD_DEV_TYPE_NAND correct
    - remove unnecessary inline
    - rework "jffs2 header" problem later

Cc: Scott Wood <scottwood at freescale.com>
Cc: Tom Rini <trini at ti.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>
Cc: Jagannadha Sutradharudu Teki <jagannadh.teki at gmail.com>

Daniel Schwierzeck (1):
  mtd, spi: add MTD layer driver

Heiko Schocher (2):
  mtd, nand: move common functions from cmd_nand.c to common place
  spi, sf: use offset and size in sf cmd from mtdpartition

 README                        |   3 +
 common/cmd_nand.c             | 140 ++++++++----------------------------------
 common/cmd_onenand.c          |  19 ++----
 common/cmd_sf.c               |  59 +++++++++---------
 drivers/mtd/Makefile          |   4 +-
 drivers/mtd/mtd_uboot.c       | 114 ++++++++++++++++++++++++++++++++++
 drivers/mtd/spi/Makefile      |   1 +
 drivers/mtd/spi/sf_internal.h |  13 ++++
 drivers/mtd/spi/sf_mtd.c      | 104 +++++++++++++++++++++++++++++++
 drivers/mtd/spi/sf_probe.c    |   5 ++
 include/linux/mtd/mtd.h       |   7 +++
 11 files changed, 310 insertions(+), 159 deletions(-)
 create mode 100644 drivers/mtd/mtd_uboot.c
 create mode 100644 drivers/mtd/spi/sf_mtd.c

-- 
1.8.3.1



More information about the U-Boot mailing list