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

Jörg Krause
2014-06-27T23:36:21Z

I applied this series of patches on top of a patch from Stephen Warren
from 2014-06-23: [PATCH] usb: ci_udc: fix interaction with
CONFIG_USB_ETH_CDC.

Now my USB Ethernet driver does not work anymore. I am using tfpd for
downloading files over USB Ethernet Gadget from my notebook to an
Freescale i.MX28 board.

This is the error message:

=> run update_rootfs
Updating rootfs ...
using ci_udc, OUT ep- IN ep- STATUS ep-
high speed config #1: 2 mA, Ethernet Gadget, using CDC Ethernet
ERROR: The remote end did not respond in time.
at drivers/usb/gadget/ether.c:2383/usb_eth_init()

Best regards
J?rg Krause

On 06/24/2014 10:09 AM, Heiko Schocher wrote:
> resync ubi subsystem with linux:
>
> commit 455c6fdbd219161bd09b1165f11699d6d73de11c
> Author: Linus Torvalds <torvalds@linux-foundation.org>
> 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 <marex@denx.de>
> Cc: Sergey Lapin <slapin@ossfans.org>
> Cc: Scott Wood <scottwood@freescale.com>
> Cc: Wolfgang Denk <wd@denx.de>
> Cc: Joerg Krause <jkrause@posteo.de>
>
> 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
>