[U-Boot] [RFC, PATCH v2 0/4] mtd, ubi, ubifs: resync with Linux-3.14
Heiko Schocher
hs at denx.de
Thu May 22 12:43:04 CEST 2014
resync mtd, ubi and ubifs subsystem with linux:
commit 455c6fdbd219161bd09b1165f11699d6d73de11c
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date: Sun Mar 30 20:40:15 2014 -0700
Linux 3.14
Main reason for this sync is, we now have UBI fastmap support
in U-Boot.
Tested it on am33xx, imx6 and mpc83xx boards. MAKEALL for arm and powerpc
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 patchserie!
The patches
lib, rbtree: resync with Linux-3.14
lib, list_sort: add list_sort from linux 3.14
mtd, ubi, ubifs: resync with Linux-3.14
are not checkpatch clean, as they use code from Linux and
I do not want to change this.
Remarks:
- UBI Fastmap is now availiable in U-Boot
activate it with CONFIG_MTD_UBI_FASTMAP
- 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.
- move a lot of defines from include/ubi_uboot.h to
include/linux/compat.h, as this is the correcter place for it.
- add usb device to linux device, so usb uses "struct device"
from "linux/compat.h"
- 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
(only compile tested)
- Documented the config defines in README
- kmalloc now uses memalign for allocating memory. This prevented
crashes when tested ubi/ubifs on imx6 board.
- To produce this patch I did three steps:
- copied the linux source files to U-Boot tree -> commit this
- adapt license text in each file -> commit this
- make the code again compile clean and working -> commit this
Then squashed this three patches to this patch, to not break
bisectability. To make further sync with linux easier, the
above three 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
This branch is only thought for further linux syncs! Please
do not use this branch for testing this patchseries!
- Hope I get all U-Boot specific changes ... so please, test,
test, test ...
- changes for v2:
- add lib/linux_compat.c as Joerg Krause detected
Cc: Marek Vasut <marex at denx.de>
Cc: Sergey Lapin <slapin at ossfans.org>
Cc: Scott Wood <scottwood at freescale.com>
Cc: Wolfgang Denk <wd at denx.de>
Cc: Joerg Krause <jkrause at posteo.de>
Heiko Schocher (4):
dm: rename device struct to udevice
lib, rbtree: resync with Linux-3.14
lib, list_sort: add list_sort from linux 3.14
mtd, ubi, ubifs: resync with Linux-3.14
README | 61 +
arch/sandbox/include/asm/gpio.h | 8 +-
board/prodrive/alpr/nand.c | 4 +
board/socrates/nand.c | 6 +
board/tqc/tqm8272/nand.c | 4 +
common/cmd_demo.c | 4 +-
common/cmd_gpio.c | 4 +-
common/cmd_ubi.c | 29 +-
common/cmd_ubifs.c | 2 +-
doc/driver-model/README.txt | 8 +-
drivers/core/device.c | 32 +-
drivers/core/lists.c | 8 +-
drivers/core/root.c | 2 +-
drivers/core/uclass.c | 31 +-
drivers/demo/demo-shape.c | 6 +-
drivers/demo/demo-simple.c | 4 +-
drivers/demo/demo-uclass.c | 6 +-
drivers/gpio/gpio-uclass.c | 28 +-
drivers/gpio/sandbox.c | 34 +-
drivers/mtd/mtdconcat.c | 230 ++-
drivers/mtd/mtdcore.c | 1112 ++++++++++++-
drivers/mtd/mtdcore.h | 23 +
drivers/mtd/mtdpart.c | 521 +++++-
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 | 1897 +++++++++++++++------
drivers/mtd/nand/nand_bbt.c | 296 ++--
drivers/mtd/nand/nand_ids.c | 256 +--
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 | 178 +-
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 | 626 +++++--
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 | 3132 ++++++++++++++++++++++++++++++++++-
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/asm-generic/global_data.h | 2 +-
include/asm-generic/gpio.h | 22 +-
include/dm-demo.h | 10 +-
include/dm/device-internal.h | 16 +-
include/dm/device.h | 20 +-
include/dm/lists.h | 4 +-
include/dm/root.h | 4 +-
include/dm/test.h | 12 +-
include/dm/uclass-internal.h | 10 +-
include/dm/uclass.h | 18 +-
include/linux/compat.h | 327 +++-
include/linux/err.h | 15 +-
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 | 350 +++-
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 | 195 ++-
include/mtd/ubi-user.h | 305 +++-
include/ubi_uboot.h | 164 +-
include/usb/lin_gadget_compat.h | 16 -
lib/Makefile | 2 +
lib/linux_compat.c | 42 +
lib/list_sort.c | 298 ++++
lib/rbtree.c | 684 +++++---
test/dm/cmd_dm.c | 10 +-
test/dm/core.c | 32 +-
test/dm/gpio.c | 2 +-
test/dm/test-driver.c | 20 +-
test/dm/test-fdt.c | 10 +-
test/dm/test-main.c | 2 +-
test/dm/test-uclass.c | 15 +-
122 files changed, 28261 insertions(+), 7686 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
--
1.8.3.1
More information about the U-Boot
mailing list