From cdd6361649ea85092d4bd2acd6405203d0d9a0ae Mon Sep 17 00:00:00 2001 From: Luka Perkov Date: Thu, 29 Aug 2013 23:06:29 +0000 Subject: uboot-envtools: update to v2013.07 SVN-Revision: 37857 --- package/boot/uboot-envtools/Makefile | 6 +- ...-add-redundant-env-support-for-MTD_ABSENT.patch | 28 +++++ ...v-fix-writing-environment-for-mtd-devices.patch | 114 +++++++++++++++++++++ .../patches/110-add-support-for-MTD_ABSENT.patch | 19 ---- .../115-writing-environment-for-mtd-devices.patch | 106 ------------------- 5 files changed, 145 insertions(+), 128 deletions(-) create mode 100644 package/boot/uboot-envtools/patches/0001-fw_env-add-redundant-env-support-for-MTD_ABSENT.patch create mode 100644 package/boot/uboot-envtools/patches/0002-fw_env-fix-writing-environment-for-mtd-devices.patch delete mode 100644 package/boot/uboot-envtools/patches/110-add-support-for-MTD_ABSENT.patch delete mode 100644 package/boot/uboot-envtools/patches/115-writing-environment-for-mtd-devices.patch diff --git a/package/boot/uboot-envtools/Makefile b/package/boot/uboot-envtools/Makefile index 38c5218..b9c8461 100644 --- a/package/boot/uboot-envtools/Makefile +++ b/package/boot/uboot-envtools/Makefile @@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=uboot-envtools PKG_DISTNAME:=u-boot -PKG_VERSION:=2013.07-rc1 -PKG_RELEASE:=2 +PKG_VERSION:=2013.07 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_DISTNAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=ftp://ftp.denx.de/pub/u-boot -PKG_MD5SUM:=9b14d9a8981ce2e429956af7cc96996e +PKG_MD5SUM:=8445162690052e6afd4b8f87af2bb557 PKG_BUILD_DIR:=$(BUILD_DIR)/u-boot-$(PKG_VERSION) diff --git a/package/boot/uboot-envtools/patches/0001-fw_env-add-redundant-env-support-for-MTD_ABSENT.patch b/package/boot/uboot-envtools/patches/0001-fw_env-add-redundant-env-support-for-MTD_ABSENT.patch new file mode 100644 index 0000000..d373e13 --- /dev/null +++ b/package/boot/uboot-envtools/patches/0001-fw_env-add-redundant-env-support-for-MTD_ABSENT.patch @@ -0,0 +1,28 @@ +From: Oliver Metz +Subject: [PATCH v2 1/2] fw_env: add redundant env support for MTD_ABSENT + +Signed-off-by: Oliver Metz +Tested-by: Luka Perkov +--- + +v1 -> v2: + * correct spelling of redundant + +http://lists.denx.de/pipermail/u-boot/2013-August/161694.html +http://patchwork.ozlabs.org/patch/270993/ + + tools/env/fw_env.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/tools/env/fw_env.c ++++ b/tools/env/fw_env.c +@@ -1152,6 +1152,9 @@ int fw_env_open(void) + } else if (DEVTYPE(dev_current) == MTD_UBIVOLUME && + DEVTYPE(!dev_current) == MTD_UBIVOLUME) { + environment.flag_scheme = FLAG_INCREMENTAL; ++ } else if (DEVTYPE(dev_current) == MTD_ABSENT && ++ DEVTYPE(!dev_current) == MTD_ABSENT) { ++ environment.flag_scheme = FLAG_INCREMENTAL; + } else { + fprintf (stderr, "Incompatible flash types!\n"); + return -1; diff --git a/package/boot/uboot-envtools/patches/0002-fw_env-fix-writing-environment-for-mtd-devices.patch b/package/boot/uboot-envtools/patches/0002-fw_env-fix-writing-environment-for-mtd-devices.patch new file mode 100644 index 0000000..ebfe0e4 --- /dev/null +++ b/package/boot/uboot-envtools/patches/0002-fw_env-fix-writing-environment-for-mtd-devices.patch @@ -0,0 +1,114 @@ +From: Oliver Metz +Subject: [PATCH v2 2/2] fw_env: fix writing environment for mtd devices + +Signed-off-by: Oliver Metz +Tested-by: Luka Perkov +--- + +v1 -> v2: + * fix checkpatch.pl warnings + +http://lists.denx.de/pipermail/u-boot/2013-August/161695.html +http://patchwork.ozlabs.org/patch/270994/ + + tools/env/fw_env.c | 70 ++++++++++++++++++++++++++++++++---------------------- + 1 file changed, 42 insertions(+), 28 deletions(-) + +--- a/tools/env/fw_env.c ++++ b/tools/env/fw_env.c +@@ -743,27 +743,39 @@ static int flash_write_buf (int dev, int + MEMGETBADBLOCK needs 64 bits */ + int rc; + +- blocklen = DEVESIZE (dev); ++ /* ++ * For mtd devices only offset and size of the environment do matter ++ */ ++ if (mtd_type == MTD_ABSENT) { ++ blocklen = count; ++ top_of_range = offset + count; ++ erase_len = blocklen; ++ blockstart = offset; ++ block_seek = 0; ++ write_total = blocklen; ++ } else { ++ blocklen = DEVESIZE(dev); + +- top_of_range = ((DEVOFFSET(dev) / blocklen) + +- ENVSECTORS (dev)) * blocklen; ++ top_of_range = ((DEVOFFSET(dev) / blocklen) + ++ ENVSECTORS(dev)) * blocklen; + +- erase_offset = (offset / blocklen) * blocklen; ++ erase_offset = (offset / blocklen) * blocklen; + +- /* Maximum area we may use */ +- erase_len = top_of_range - erase_offset; ++ /* Maximum area we may use */ ++ erase_len = top_of_range - erase_offset; + +- blockstart = erase_offset; +- /* Offset inside a block */ +- block_seek = offset - erase_offset; ++ blockstart = erase_offset; ++ /* Offset inside a block */ ++ block_seek = offset - erase_offset; + +- /* +- * Data size we actually have to write: from the start of the block +- * to the start of the data, then count bytes of data, and to the +- * end of the block +- */ +- write_total = ((block_seek + count + blocklen - 1) / +- blocklen) * blocklen; ++ /* ++ * Data size we actually write: from the start of the block ++ * to the start of the data, then count bytes of data, and ++ * to the end of the block ++ */ ++ write_total = ((block_seek + count + blocklen - 1) / ++ blocklen) * blocklen; ++ } + + /* + * Support data anywhere within erase sectors: read out the complete +@@ -834,17 +846,18 @@ static int flash_write_buf (int dev, int + continue; + } + +- erase.start = blockstart; +- ioctl (fd, MEMUNLOCK, &erase); +- /* These do not need an explicit erase cycle */ +- if (mtd_type != MTD_ABSENT && +- mtd_type != MTD_DATAFLASH) +- if (ioctl (fd, MEMERASE, &erase) != 0) { +- fprintf (stderr, "MTD erase error on %s: %s\n", +- DEVNAME (dev), +- strerror (errno)); +- return -1; +- } ++ if (mtd_type != MTD_ABSENT) { ++ erase.start = blockstart; ++ ioctl(fd, MEMUNLOCK, &erase); ++ /* These do not need an explicit erase cycle */ ++ if (mtd_type != MTD_DATAFLASH) ++ if (ioctl(fd, MEMERASE, &erase) != 0) { ++ fprintf(stderr, ++ "MTD erase error on %s: %s\n", ++ DEVNAME(dev), strerror(errno)); ++ return -1; ++ } ++ } + + if (lseek (fd, blockstart, SEEK_SET) == -1) { + fprintf (stderr, +@@ -863,7 +876,8 @@ static int flash_write_buf (int dev, int + return -1; + } + +- ioctl (fd, MEMLOCK, &erase); ++ if (mtd_type != MTD_ABSENT) ++ ioctl(fd, MEMLOCK, &erase); + + processed += blocklen; + block_seek = 0; diff --git a/package/boot/uboot-envtools/patches/110-add-support-for-MTD_ABSENT.patch b/package/boot/uboot-envtools/patches/110-add-support-for-MTD_ABSENT.patch deleted file mode 100644 index dd98b45..0000000 --- a/package/boot/uboot-envtools/patches/110-add-support-for-MTD_ABSENT.patch +++ /dev/null @@ -1,19 +0,0 @@ -tools/fw_env: add redundant env support for MTD_ABSENT - -Signed-off-by: Oliver Metz ---- - tools/env/fw_env.c | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/tools/env/fw_env.c -+++ b/tools/env/fw_env.c -@@ -1164,6 +1164,9 @@ int fw_env_open(void) - } else if (DEVTYPE(dev_current) == MTD_UBIVOLUME && - DEVTYPE(!dev_current) == MTD_UBIVOLUME) { - environment.flag_scheme = FLAG_INCREMENTAL; -+ } else if (DEVTYPE(dev_current) == MTD_ABSENT && -+ DEVTYPE(!dev_current) == MTD_ABSENT) { -+ environment.flag_scheme = FLAG_INCREMENTAL; - } else { - fprintf (stderr, "Incompatible flash types!\n"); - return -1; diff --git a/package/boot/uboot-envtools/patches/115-writing-environment-for-mtd-devices.patch b/package/boot/uboot-envtools/patches/115-writing-environment-for-mtd-devices.patch deleted file mode 100644 index 96d0fd9..0000000 --- a/package/boot/uboot-envtools/patches/115-writing-environment-for-mtd-devices.patch +++ /dev/null @@ -1,106 +0,0 @@ -tools/fw_env: fix writing environment for mtd devices - -Signed-off-by: Oliver Metz ---- - tools/env/fw_env.c | 71 ++++++++++++++++++++++++++++++++---------------------- - 1 file changed, 42 insertions(+), 29 deletions(-) - ---- a/tools/env/fw_env.c -+++ b/tools/env/fw_env.c -@@ -743,27 +743,39 @@ static int flash_write_buf (int dev, int - MEMGETBADBLOCK needs 64 bits */ - int rc; - -- blocklen = DEVESIZE (dev); -+ /* -+ * For mtd devices only offset and size of the environment do matter -+ */ -+ if (mtd_type == MTD_ABSENT) { -+ blocklen = count; -+ top_of_range = offset + count; -+ erase_len = blocklen; -+ blockstart = offset; -+ block_seek = 0; -+ write_total = blocklen; -+ } else { -+ blocklen = DEVESIZE (dev); - -- top_of_range = ((DEVOFFSET(dev) / blocklen) + -- ENVSECTORS (dev)) * blocklen; -+ top_of_range = ((DEVOFFSET(dev) / blocklen) + -+ ENVSECTORS (dev)) * blocklen; - -- erase_offset = (offset / blocklen) * blocklen; -+ erase_offset = (offset / blocklen) * blocklen; - -- /* Maximum area we may use */ -- erase_len = top_of_range - erase_offset; -+ /* Maximum area we may use */ -+ erase_len = top_of_range - erase_offset; - -- blockstart = erase_offset; -- /* Offset inside a block */ -- block_seek = offset - erase_offset; -+ blockstart = erase_offset; -+ /* Offset inside a block */ -+ block_seek = offset - erase_offset; - -- /* -- * Data size we actually have to write: from the start of the block -- * to the start of the data, then count bytes of data, and to the -- * end of the block -- */ -- write_total = ((block_seek + count + blocklen - 1) / -- blocklen) * blocklen; -+ /* -+ * Data size we actually write: from the start of the block -+ * to the start of the data, then count bytes of data, and to the -+ * end of the block -+ */ -+ write_total = ((block_seek + count + blocklen - 1) / -+ blocklen) * blocklen; -+ } - - /* - * Support data anywhere within erase sectors: read out the complete -@@ -834,17 +846,18 @@ static int flash_write_buf (int dev, int - continue; - } - -- erase.start = blockstart; -- ioctl (fd, MEMUNLOCK, &erase); -- /* These do not need an explicit erase cycle */ -- if (mtd_type != MTD_ABSENT && -- mtd_type != MTD_DATAFLASH) -- if (ioctl (fd, MEMERASE, &erase) != 0) { -- fprintf (stderr, "MTD erase error on %s: %s\n", -- DEVNAME (dev), -- strerror (errno)); -- return -1; -- } -+ if (mtd_type != MTD_ABSENT) { -+ erase.start = blockstart; -+ ioctl (fd, MEMUNLOCK, &erase); -+ /* These do not need an explicit erase cycle */ -+ if (mtd_type != MTD_DATAFLASH) -+ if (ioctl (fd, MEMERASE, &erase) != 0) { -+ fprintf (stderr, "MTD erase error on %s: %s\n", -+ DEVNAME (dev), -+ strerror (errno)); -+ return -1; -+ } -+ } - - if (lseek (fd, blockstart, SEEK_SET) == -1) { - fprintf (stderr, -@@ -862,8 +875,8 @@ static int flash_write_buf (int dev, int - DEVNAME (dev), strerror (errno)); - return -1; - } -- -- ioctl (fd, MEMLOCK, &erase); -+ if (mtd_type != MTD_ABSENT) -+ ioctl (fd, MEMLOCK, &erase); - - processed += blocklen; - block_seek = 0; -- cgit v1.1