
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/upda...
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