From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?ISO-8859-1?Q?J=F6rg_Krause?= Date: Wed, 21 May 2014 22:44:57 +0200 Subject: [U-Boot] [RFC, PATCH 0/4] mtd, ubi, ubifs: resync with Linux-3.14 In-Reply-To: <1400665776-6088-1-git-send-email-hs@denx.de> References: <1400665776-6088-1-git-send-email-hs@denx.de> Message-ID: <537D1049.70002@posteo.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Building for a custom Freescale i.MX28 board failed for me. Here is the output: [joerg at timelineX u-boot-testing]$ export ARCH=arm [joerg at timelineX u-boot-testing]$ export CROSS_COMPILE=arm-linux-gnueabi- [joerg at timelineX u-boot-testing]$ make mrproper CLEAN scripts/basic CLEAN include/config include/generated CLEAN include/config.h include/config.mk [joerg at timelineX u-boot-testing]$ make airlino_config Configuring for airlino board... [joerg at timelineX u-boot-testing]$ make -j4 u-boot.sb GEN include/autoconf.mk.dep GEN include/autoconf.mk CHK include/config/uboot.release CHK include/generated/timestamp_autogenerated.h UPD include/generated/timestamp_autogenerated.h HOSTCC scripts/basic/fixdep UPD include/config/uboot.release CHK include/generated/version_autogenerated.h UPD include/generated/version_autogenerated.h CC arch/arm/lib/asm-offsets.s CC lib/asm-offsets.s GEN include/generated/asm-offsets.h GEN include/generated/generic-asm-offsets.h HOSTCC tools/aisimage.o HOSTCC tools/default_image.o HOSTCC tools/dumpimage.o HOSTCC tools/crc32.o HOSTCC tools/env_embedded.o HOSTCC tools/envcrc.o HOSTCC tools/fdt.o HOSTCC tools/fdt_ro.o HOSTCC tools/fdt_rw.o HOSTCC tools/fdt_strerror.o HOSTCC tools/fdt_wip.o HOSTCC tools/fdtdec.o HOSTCC tools/fit_common.o HOSTCC tools/fit_image.o HOSTCC tools/gpimage-common.o HOSTCC tools/gpimage.o HOSTCC tools/image-fit.o HOSTCC tools/image-host.o HOSTCC tools/image.o HOSTCC tools/imagetool.o HOSTCC tools/imximage.o HOSTCC tools/kwbimage.o LDS u-boot.lds HOSTCC tools/md5.o HOSTCC tools/mkenvimage.o HOSTCC tools/mkimage.o HOSTCC tools/mxsimage.o HOSTCC tools/omapimage.o HOSTCC tools/os_support.o HOSTCC tools/pblimage.o HOSTCC tools/sha1.o HOSTCC tools/sha256.o HOSTCC tools/ublimage.o HOSTCC tools/gen_eth_addr tools/mxsimage.c: In function 'mxsimage_generate': tools/mxsimage.c:1500:28: warning: 'rptr' may be used uninitialized in this function [-Wmaybe-uninitialized] if (!tok || (strlen(tok) == 0) || (lptr && strlen(lptr) != 1)) { ^ tools/mxsimage.c:1439:8: note: 'rptr' was declared here char *rptr; ^ HOSTCC tools/img2srec HOSTCC tools/mxsboot HOSTCC tools/proftool HOSTLD tools/mkenvimage HOSTLD tools/envcrc HOSTLD tools/dumpimage HOSTLD tools/mkimage LD arch/arm/cpu/built-in.o CC arch/arm/cpu/arm926ejs/cpu.o CC arch/arm/imx-common/misc.o CC arch/arm/cpu/arm926ejs/mxs/clock.o CC arch/arm/cpu/arm926ejs/cache.o AS arch/arm/lib/crt0.o AS arch/arm/lib/relocate.o LD arch/arm/imx-common/built-in.o CC arch/arm/lib/board.o AS arch/arm/cpu/arm926ejs/start.o LD arch/arm/cpu/arm926ejs/built-in.o CC board/lintech/airlino/airlino.o CC arch/arm/cpu/arm926ejs/mxs/mxs.o CC arch/arm/lib/bootm-fdt.o CC arch/arm/lib/bootm.o LD board/lintech/airlino/built-in.o CC arch/arm/cpu/arm926ejs/mxs/iomux.o CC arch/arm/cpu/arm926ejs/mxs/timer.o CC arch/arm/lib/sections.o CC arch/arm/lib/interrupts.o CC disk/part.o CC arch/arm/lib/reset.o LD arch/arm/cpu/arm926ejs/mxs/built-in.o CC common/main.o CC arch/arm/lib/cache.o LD disk/built-in.o CC drivers/dma/apbh_dma.o CC arch/arm/lib/cache-cp15.o LD drivers/block/built-in.o LD drivers/crypto/built-in.o LD drivers/dfu/built-in.o LD drivers/hwmon/built-in.o AR arch/arm/lib/lib.a CC common/command.o LD drivers/misc/built-in.o CC arch/arm/lib/eabi_compat.o LD drivers/dma/built-in.o CC drivers/pcmcia/rpx_pcmcia.o CC drivers/gpio/mxs_gpio.o LD arch/arm/lib/built-in.o CC drivers/pcmcia/tqm8xx_pcmcia.o LD drivers/i2c/built-in.o LD drivers/gpio/built-in.o LD drivers/pcmcia/built-in.o CC drivers/input/input.o LD drivers/mmc/built-in.o CC drivers/rtc/date.o CC common/exports.o CC drivers/mtd/mtdcore.o LD drivers/input/built-in.o CC common/hash.o CC drivers/rtc/mxsrtc.o CC drivers/mtd/nand/nand.o CC common/hush.o CC drivers/mtd/nand/nand_bbt.o LD drivers/rtc/built-in.o LD drivers/sound/built-in.o LD drivers/tpm/built-in.o CC drivers/mtd/mtdpart.o LD drivers/twserial/built-in.o LD drivers/video/built-in.o LD drivers/watchdog/built-in.o LD drivers/built-in.o LD drivers/mtd/onenand/built-in.o LD drivers/mtd/spi/built-in.o LD drivers/mtd/built-in.o CC drivers/mtd/nand/nand_ids.o CC drivers/mtd/ubi/attach.o LD drivers/net/built-in.o CC common/s_record.o CC drivers/mtd/nand/nand_util.o CC common/xyzModem.o CC common/cmd_disk.o CC common/cmd_boot.o CC common/cmd_bootm.o CC drivers/mtd/nand/nand_ecc.o CC common/cmd_help.o CC common/cmd_version.o CC drivers/mtd/nand/nand_base.o CC drivers/mtd/ubi/build.o CC common/env_attr.o CC common/env_callback.o CC common/env_flags.o CC common/env_nand.o CC drivers/mtd/ubi/vtbl.o CC common/cmd_source.o CC common/cmd_bdinfo.o CC common/cmd_cache.o CC common/cmd_console.o CC common/cmd_date.o CC drivers/mtd/ubi/vmt.o CC common/cmd_echo.o CC common/cmd_exit.o CC common/cmd_fdt.o CC common/fdt_support.o CC drivers/mtd/ubi/upd.o CC drivers/mtd/ubi/kapi.o CC drivers/mtd/nand/mxs_nand.o CC common/cmd_gpio.o CC drivers/mtd/ubi/eba.o CC common/cmd_itest.o CC common/cmd_load.o LD drivers/net/phy/built-in.o LD drivers/pci/built-in.o LD drivers/mtd/nand/built-in.o LD drivers/power/built-in.o LD drivers/power/battery/built-in.o CC common/cmd_mem.o LD drivers/power/fuel_gauge/built-in.o CC common/cmd_misc.o LD drivers/power/mfd/built-in.o LD drivers/power/pmic/built-in.o CC common/cmd_mtdparts.o CC common/cmd_nand.o CC drivers/serial/serial.o CC drivers/mtd/ubi/io.o CC drivers/serial/serial_pl01x.o LD drivers/serial/built-in.o CC common/cmd_net.o CC drivers/spi/spi.o CC drivers/mtd/ubi/wl.o LD drivers/spi/built-in.o CC common/cmd_pcmcia.o CC drivers/usb/eth/asix.o CC common/cmd_setexpr.o CC common/cmd_test.o CC common/cmd_ubi.o CC common/cmd_ubifs.o CC drivers/usb/eth/smsc95xx.o CC drivers/mtd/ubi/crc32.o CC common/cmd_usb.o CC common/usb.o CC drivers/mtd/ubi/fastmap.o LD drivers/usb/eth/built-in.o CC drivers/usb/gadget/epautoconf.o CC drivers/usb/gadget/config.o CC common/usb_hub.o CC common/cmd_ximg.o CC drivers/usb/gadget/usbstring.o CC common/flash.o CC common/splash.o CC common/cmd_nvedit.o CC drivers/usb/gadget/ether.o CC common/env_common.o CC common/console.o CC common/dlmalloc.o CC drivers/usb/gadget/ci_udc.o CC common/image.o CC drivers/mtd/ubi/misc.o CC common/image-fdt.o CC drivers/mtd/ubi/debug.o CC common/memsize.o LD drivers/usb/gadget/built-in.o CC common/stdio.o CC drivers/usb/host/ehci-hcd.o LD drivers/mtd/ubi/built-in.o LD common/built-in.o LD drivers/usb/musb/built-in.o CC drivers/usb/host/ehci-mxs.o LD drivers/usb/phy/built-in.o LD drivers/usb/musb-new/built-in.o LD drivers/usb/ulpi/built-in.o CC fs/fs.o LD fs/fat/built-in.o CC fs/ubifs/ubifs.o CC fs/ubifs/io.o CC lib/lzo/lzo1x_decompress.o LD drivers/usb/host/built-in.o CC lib/libfdt/fdt.o LD lib/lzo/built-in.o CC fs/ubifs/super.o CC lib/zlib/zlib.o CC lib/libfdt/fdt_ro.o CC fs/ubifs/sb.o CC lib/libfdt/fdt_rw.o CC fs/ubifs/master.o CC lib/libfdt/fdt_strerror.o CC lib/libfdt/fdt_sw.o CC fs/ubifs/lpt.o CC lib/libfdt/fdt_wip.o CC lib/libfdt/fdt_empty_tree.o LD lib/zlib/built-in.o CC lib/crc7.o CC lib/crc8.o LD lib/libfdt/built-in.o CC lib/crc16.o CC lib/gunzip.o CC lib/initcall.o CC net/arp.o CC lib/lmb.o CC lib/ldiv.o CC net/bootp.o CC lib/net_utils.o CC lib/qsort.o CC net/eth.o CC fs/ubifs/lpt_commit.o CC fs/ubifs/scan.o CC lib/strmhz.o CC net/net.o CC lib/rbtree.o CC lib/list_sort.o CC lib/hashtable.o CC fs/ubifs/lprops.o CC lib/errno.o CC net/nfs.o LD test/built-in.o LD test/dm/built-in.o CC lib/display_options.o CC lib/crc32.o CC fs/ubifs/tnc.o CC net/tftp.o CC lib/ctype.o GEN include/spl-autoconf.mk CC lib/div64.o make[1]: *** No rule to make target 'lib/linux_compat.o', needed by 'lib/built-in.o'. Stop. make[1]: *** Waiting for unfinished jobs.... CC lib/hang.o LD net/built-in.o CC fs/ubifs/tnc_misc.o Makefile:1013: recipe for target 'lib' failed make: *** [lib] Error 2 make: *** Waiting for unfinished jobs.... CC fs/ubifs/debug.o AS spl/arch/arm/lib/crt0.o CC fs/ubifs/crc16.o CC spl/arch/arm/lib/sections.o CC fs/ubifs/budget.o CC spl/arch/arm/lib/interrupts.o CC fs/ubifs/log.o CC fs/ubifs/orphan.o CC spl/arch/arm/lib/reset.o CC fs/ubifs/recovery.o CC spl/arch/arm/lib/cache.o CC fs/ubifs/replay.o CC spl/arch/arm/cpu/arm926ejs/cpu.o CC spl/arch/arm/lib/cache-cp15.o CC spl/arch/arm/cpu/arm926ejs/cache.o AR spl/arch/arm/lib/lib.a CC spl/arch/arm/lib/eabi_compat.o LD spl/arch/arm/lib/built-in.o CC spl/arch/arm/cpu/arm926ejs/mxs/clock.o LD spl/arch/arm/cpu/arm926ejs/built-in.o CC spl/board/lintech/airlino/iomux.o CC spl/common/env_nand.o LD fs/ubifs/built-in.o LD fs/built-in.o LD spl/board/lintech/airlino/built-in.o CC spl/common/cmd_nvedit.o CC spl/arch/arm/cpu/arm926ejs/mxs/mxs.o CC spl/drivers/gpio/mxs_gpio.o CC spl/common/env_common.o CC spl/drivers/serial/serial.o CC spl/arch/arm/cpu/arm926ejs/mxs/iomux.o LD spl/drivers/gpio/built-in.o LD spl/fs/built-in.o CC spl/drivers/serial/serial_pl01x.o CC spl/common/console.o CC spl/arch/arm/cpu/arm926ejs/mxs/timer.o CC spl/lib/hashtable.o LD spl/drivers/serial/built-in.o LD spl/arch/arm/cpu/built-in.o CC spl/common/dlmalloc.o CC spl/arch/arm/cpu/arm926ejs/mxs/spl_boot.o CC spl/arch/arm/cpu/arm926ejs/mxs/spl_lradc_init.o CC spl/lib/errno.o LDS spl/u-boot-spl.lds CC spl/lib/display_options.o CC spl/arch/arm/cpu/arm926ejs/mxs/spl_mem_init.o CC spl/arch/arm/cpu/arm926ejs/mxs/spl_power_init.o CC spl/lib/crc32.o CC spl/common/image.o AS spl/arch/arm/cpu/arm926ejs/mxs/start.o CC spl/lib/ctype.o CC spl/lib/div64.o make[2]: *** No rule to make target 'spl/lib/linux_compat.o', needed by 'spl/lib/built-in.o'. Stop. make[2]: *** Waiting for unfinished jobs.... CC spl/lib/hang.o LD spl/arch/arm/cpu/arm926ejs/mxs/built-in.o CC spl/common/image-fdt.o CC spl/common/memsize.o /home/joerg/Freescale/u-boot-testing/spl/Makefile:232: recipe for target 'spl/lib' failed make[1]: *** [spl/lib] Error 2 make[1]: *** Waiting for unfinished jobs.... CC spl/common/stdio.o LD spl/common/built-in.o Makefile:1155: recipe for target 'spl/u-boot-spl' failed make: *** [spl/u-boot-spl] Error 2 I cannot find any linux_compat.c files in u-boot-testing. On 05/21/2014 11:49 AM, Heiko Schocher wrote: > resync mtd, ubi and ubifs subsystem with linux: > > commit 455c6fdbd219161bd09b1165f11699d6d73de11c > Author: Linus Torvalds > 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 > > - Hope I get all U-Boot specific changes ... so please, test, > test, test ... > > 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 | 31 +- > 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/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 +- > 121 files changed, 28221 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/list_sort.c > > Signed-off-by: Heiko Schocher > Cc: Marek Vasut > Cc: Sergey Lapin > Cc: Scott Wood > Cc: Wolfgang Denk >