Skip to content

mtd, ubi, ubifs: resync with Linux-3.14

Heiko Schocher u-boot 13 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 posting 7/70 of 3 patches 0 repliesNew
  2. v5 Latest5 patches 0 repliesNew
  3. v4 posting 6/70 of 3 patches 0 repliesSuperseded
Earlier versions · 10
VersionPostedPatchesRepliesStatus
v4 posting 5/70 of 3 patches0 repliesSuperseded
v4 posting 4/70 of 3 patches0 repliesSuperseded
v4 posting 3/70 of 3 patches0 repliesSuperseded
v4 posting 2/70 of 3 patches0 repliesSuperseded
v4 posting 1/73 patches0 repliesSuperseded
v3 RFC posting 2/20 of 3 patches0 repliesSuperseded
v3 RFC posting 1/23 patches0 repliesSuperseded
v2 RFC posting 2/20 of 4 patches0 repliesSuperseded
v2 RFC posting 1/24 patches0 repliesSuperseded
v1 RFC0 of 4 patches0 repliesSuperseded

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5lib, rbtree: resync with Linux-3.14include/linux/rbtree.h include/linux/rbtree_augmented.h lib/rbtree.c+698 -3531 reply
2/5lib, list_sort: add list_sort from linux 3.14include/linux/list_sort.h lib/Makefile lib/list_sort.c+310 -01 reply
3/5linux include: add ERR_CASTinclude/linux/err.h+13 -41 reply
4/5lib, linux: move linux specific defines to linux/compat.hdrivers/usb/gadget/ether.c drivers/usb/gadget/storage_common.c drivers/usb/musb-new/linux-compat.h +8 more+386 -2351 reply
5/5mtd, ubi, ubifs: resync with Linux-3.14README board/prodrive/alpr/nand.c board/socrates/nand.c +72 more+26662 -68791 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v5 yet.

Read the v5 thread

Cover letter [U-Boot] [PATCH v5 0/5] mtd, ubi, ubifs: resync with Linux-3.14

resync ubi subsystem with linux:

commit 455c6fdbd219161bd09b1165f11699d6d73de11c

Author: Linus Torvalds <[email protected]>
Date:   Sun Mar 30 20:40:15 2014 -0700
    Linux 3.14

A nice side effect of this, is we introduce UBI Fastmap support to U-Boot.

To produce this patch I did two steps:
- simple copy following files from linux to u-boot

drivers/mtd/mtdconcat.c drivers/mtd/mtdcore.c drivers/mtd/mtdpart.c drivers/mtd/ubi/attach.c drivers/mtd/ubi/build.c drivers/mtd/ubi/debug.c drivers/mtd/ubi/debug.h drivers/mtd/ubi/eba.c drivers/mtd/ubi/fastmap.c drivers/mtd/ubi/io.c drivers/mtd/ubi/kapi.c drivers/mtd/ubi/misc.c drivers/mtd/ubi/ubi-media.h drivers/mtd/ubi/ubi.h drivers/mtd/ubi/upd.c drivers/mtd/ubi/vmt.c drivers/mtd/ubi/vtbl.c drivers/mtd/ubi/wl.c fs/ubifs/budget.c
fs/ubifs/debug.c
fs/ubifs/debug.h
fs/ubifs/io.c
fs/ubifs/key.h
fs/ubifs/log.c
fs/ubifs/lprops.c
fs/ubifs/lpt.c fs/ubifs/lpt_commit.c fs/ubifs/master.c
fs/ubifs/misc.h
fs/ubifs/orphan.c fs/ubifs/recovery.c fs/ubifs/replay.c
fs/ubifs/sb.c
fs/ubifs/scan.c
fs/ubifs/super.c
fs/ubifs/tnc.c
fs/ubifs/tnc_misc.c fs/ubifs/ubifs-media.h fs/ubifs/ubifs.h include/linux/mtd/bbm.h include/linux/mtd/flashchip.h include/linux/mtd/mtd.h include/linux/mtd/nand.h include/linux/mtd/partitions.h include/linux/mtd/ubi.h

include/uapi/mtd/mtd-abi.h -> include/linux/mtd include/uapi/mtd/ubi-user.h -> include/linux/mtd

- make the code again compile clean and working -> commit this adapt the Linux code to compile and work with U-Boot.

Then squash this two patches to this patch, to not break bisectability. To make further sync with linux easier, the above two patches can be found in:

http://git.denx.de/?p=u-boot/u-boot-testing.git;a=shortlog;h=refs/heads/update-mtd%2Bubi-linux-v3.14

Please do not use this branch for testing this patchserie!

summary of changes for U-Boot adaptions:
- replace UBI_LINUX in current UBI code from U-Boot with __UBOOT__ as this define is used in other places in U-Boot where code from other projects is used.

- UBI Fastmap is now availiable in U-Boot activate it with CONFIG_MTD_UBI_FASTMAP

- onenand changes only compile tested.

- Following Code in drivers/mtd/nand/nand_base.c nand_do_write_ops() adapted for U-Boot:

      +#ifndef __UBOOT__
            /* Reject writes, which are not page aligned */
            if (NOTALIGNED(to) || NOTALIGNED(ops->len)) {
      +else
      +     /* Reject writes, which are not page aligned */
      +     if (NOTALIGNED(to)) {
      +endif

as the original linux code leads in not working use of the env var "filesize". For example a "nand write 80000000 80000 ${filesize}" would not work with it ...

- add CONFIG_MTD_NAND_VERIFY_WRITE from U-Boot code

- Documented the config defines in README

- kmalloc now uses memalign for allocating memory

Tested it on am33xx, imx6 and mpc83xx boards. MAKEALL for arm and powerpc and mips compiles clean.

Tested UBI fastmap on a board with 512 MiB nand flash. Attach time from old U-Boot was 2 seconds, reduced with UBI fastmap to 0.2 seconds.

Please test this patch!

- changes for v2:
- add lib/linux_compat.c as Joerg Krause detected
- changes for v3:
rebase with current U-Boot commit 61e76f53708cf082ef9061a140b57df3513b8ba1
- changes for v4:
- rebase with commit d8a97f934c64a7ba6f11da5e4cc7f3be57fcb82d
- remove compile error for mips, as Tom Rini suggested check "MAKEALL mips" compiles clean
- fix blackfin and microblaze compile
add fix for blackfin from Trom Rini also add his Signed-off-by

- changes for v5:
- extract linux/compat.h changes

Cc Marek Vasut <[email protected]>
Cc Sergey Lapin <[email protected]>
Cc Scott Wood <[email protected]>
Cc Wolfgang Denk <[email protected]>
Cc Joerg Krause <[email protected]>

Heiko Schocher (5):
lib, rbtree: resync with Linux-3.14
lib, list_sort: add list_sort from linux 3.14 linux include: add ERR_CAST
lib, linux: move linux specific defines to linux/compat.h mtd, ubi, ubifs: resync with Linux-3.14

 README                              |   61 +
 board/prodrive/alpr/nand.c          |    4 +
 board/socrates/nand.c               |    6 +
 board/tqc/tqm8272/nand.c            |    4 +
 common/cmd_ubi.c                    |   28 +-
 common/cmd_ubifs.c                  |    2 +-
 drivers/mtd/mtdconcat.c             |  230 ++-
 drivers/mtd/mtdcore.c               | 1112 ++++++++++++-
 drivers/mtd/mtdcore.h               |   23 +
 drivers/mtd/mtdpart.c               |  515 +++++-
 drivers/mtd/nand/fsl_elbc_nand.c    |    4 +
 drivers/mtd/nand/fsl_ifc_nand.c     |    4 +
 drivers/mtd/nand/fsl_upm.c          |    4 +
 drivers/mtd/nand/mpc5121_nfc.c      |    4 +
 drivers/mtd/nand/mxc_nand.c         |    8 +
 drivers/mtd/nand/nand_base.c        | 1893 +++++++++++++++------
 drivers/mtd/nand/nand_bbt.c         |  296 ++--
 drivers/mtd/nand/nand_ids.c         |  266 +--
 drivers/mtd/nand/nand_util.c        |    3 +
 drivers/mtd/nand/ndfc.c             |    4 +
 drivers/mtd/onenand/onenand_base.c  |    1 +
 drivers/mtd/onenand/onenand_bbt.c   |    1 -
 drivers/mtd/onenand/samsung.c       |   10 +-
 drivers/mtd/ubi/Makefile            |    3 +-
 drivers/mtd/ubi/attach.c            | 1754 ++++++++++++++++++++
 drivers/mtd/ubi/build.c             |  812 ++++++---
 drivers/mtd/ubi/crc32.c             |   13 +-
 drivers/mtd/ubi/crc32table.h        |    2 +-
 drivers/mtd/ubi/debug.c             |  482 ++++--
 drivers/mtd/ubi/debug.h             |  175 +-
 drivers/mtd/ubi/eba.c               |  474 ++++--
 drivers/mtd/ubi/fastmap.c           | 1584 ++++++++++++++++++
 drivers/mtd/ubi/io.c                |  788 +++++----
 drivers/mtd/ubi/kapi.c              |  276 ++-
 drivers/mtd/ubi/misc.c              |   58 +-
 drivers/mtd/ubi/scan.c              | 1348 ---------------
 drivers/mtd/ubi/scan.h              |  153 --
 drivers/mtd/ubi/ubi-media.h         |  205 ++-
 drivers/mtd/ubi/ubi.h               |  610 +++++--
 drivers/mtd/ubi/upd.c               |  104 +-
 drivers/mtd/ubi/vmt.c               |  283 ++--
 drivers/mtd/ubi/vtbl.c              |  359 ++--
 drivers/mtd/ubi/wl.c                | 1590 +++++++++++-------
 drivers/usb/gadget/ether.c          |    5 -
 drivers/usb/gadget/storage_common.c |    5 -
 drivers/usb/musb-new/linux-compat.h |   58 -
 drivers/video/exynos_dp.c           |    1 +
 drivers/video/exynos_mipi_dsi.c     |    1 +
 fs/ubifs/budget.c                   |  662 +++++++-
 fs/ubifs/debug.c                    | 3129 ++++++++++++++++++++++++++++++++++-
 fs/ubifs/debug.h                    |  578 ++++---
 fs/ubifs/io.c                       |  897 +++++++++-
 fs/ubifs/key.h                      |   68 +-
 fs/ubifs/log.c                      |  663 +++++++-
 fs/ubifs/lprops.c                   |  538 +++++-
 fs/ubifs/lpt.c                      | 1242 +++++++++++++-
 fs/ubifs/lpt_commit.c               | 1903 ++++++++++++++++++++-
 fs/ubifs/master.c                   |  102 +-
 fs/ubifs/misc.h                     |  159 +-
 fs/ubifs/orphan.c                   |  671 +++++++-
 fs/ubifs/recovery.c                 |  738 ++++++---
 fs/ubifs/replay.c                   |  573 ++++---
 fs/ubifs/sb.c                       |  547 +++++-
 fs/ubifs/scan.c                     |  102 +-
 fs/ubifs/super.c                    | 2173 ++++++++++++++++++++----
 fs/ubifs/tnc.c                      |  742 ++++++++-
 fs/ubifs/tnc_misc.c                 |  124 +-
 fs/ubifs/ubifs-media.h              |   62 +-
 fs/ubifs/ubifs.c                    |  115 +-
 fs/ubifs/ubifs.h                    |  708 +++++---
 fs/yaffs2/ydirectenv.h              |    2 -
 include/linux/compat.h              |  330 +++-
 include/linux/err.h                 |   17 +-
 include/linux/list_sort.h           |   11 +
 include/linux/mtd/bbm.h             |   73 +-
 include/linux/mtd/concat.h          |    4 +
 include/linux/mtd/flashchip.h       |  105 ++
 include/linux/mtd/mtd.h             |  272 ++-
 include/linux/mtd/nand.h            |  351 +++-
 include/linux/mtd/partitions.h      |   60 +-
 include/linux/mtd/ubi.h             |  120 +-
 include/linux/rbtree.h              |  147 +-
 include/linux/rbtree_augmented.h    |  220 +++
 include/linux/usb/gadget.h          |    6 +-
 include/mtd/mtd-abi.h               |  183 +-
 include/mtd/ubi-user.h              |  305 +++-
 include/ubi_uboot.h                 |  165 +-
 include/usb/lin_gadget_compat.h     |   16 -
 lib/Makefile                        |    2 +
 lib/linux_compat.c                  |   47 +
 lib/list_sort.c                     |  298 ++++
 lib/rbtree.c                        |  684 +++++---
 92 files changed, 28069 insertions(+), 7471 deletions(-)
 create mode 100644 drivers/mtd/mtdcore.h
 create mode 100644 drivers/mtd/ubi/attach.c
 create mode 100644 drivers/mtd/ubi/fastmap.c
 delete mode 100644 drivers/mtd/ubi/scan.c
 delete mode 100644 drivers/mtd/ubi/scan.h
 create mode 100644 include/linux/list_sort.h
 create mode 100644 include/linux/mtd/flashchip.h
 create mode 100644 include/linux/rbtree_augmented.h
 create mode 100644 lib/linux_compat.c
 create mode 100644 lib/list_sort.c
Signature · 1 line
1.8.3.1