diff options
Diffstat (limited to 'package/boot/uboot-envtools/patches/100-fw_env-make-flash_io-take-buffer-as-an-argument.patch')
-rw-r--r-- | package/boot/uboot-envtools/patches/100-fw_env-make-flash_io-take-buffer-as-an-argument.patch | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/package/boot/uboot-envtools/patches/100-fw_env-make-flash_io-take-buffer-as-an-argument.patch b/package/boot/uboot-envtools/patches/100-fw_env-make-flash_io-take-buffer-as-an-argument.patch deleted file mode 100644 index c3b20edbdd..0000000000 --- a/package/boot/uboot-envtools/patches/100-fw_env-make-flash_io-take-buffer-as-an-argument.patch +++ /dev/null @@ -1,144 +0,0 @@ -From f178f7c9550c4fd9c644f79a1eb2dafa5bcdce25 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> -Date: Wed, 12 Jan 2022 12:47:05 +0100 -Subject: [PATCH] fw_env: make flash_io() take buffer as an argument -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It's usually easier to understand code & follow it if all arguments are -passed explicitly. Many coding styles also discourage using global -variables. - -Behaviour of flash_io() was a bit unintuitive as it was writing to a -buffer referenced in a global struct. That required developers to -remember how it works and sometimes required hacking "environment" -global struct variable to read data into a proper buffer. - -Signed-off-by: Rafał Miłecki <rafal@milecki.pl> ---- - tools/env/fw_env.c | 32 ++++++++++++++++---------------- - 1 file changed, 16 insertions(+), 16 deletions(-) - ---- a/tools/env/fw_env.c -+++ b/tools/env/fw_env.c -@@ -346,7 +346,7 @@ static int ubi_write(int fd, const void - return 0; - } - --static int flash_io(int mode); -+static int flash_io(int mode, void *buf, size_t count); - static int parse_config(struct env_opts *opts); - - #if defined(CONFIG_FILE) -@@ -516,7 +516,7 @@ int fw_env_flush(struct env_opts *opts) - *environment.crc = crc32(0, (uint8_t *) environment.data, ENV_SIZE); - - /* write environment back to flash */ -- if (flash_io(O_RDWR)) { -+ if (flash_io(O_RDWR, environment.image, CUR_ENVSIZE)) { - fprintf(stderr, "Error: can't write fw_env to flash\n"); - return -1; - } -@@ -1185,7 +1185,8 @@ static int flash_flag_obsolete(int dev, - return rc; - } - --static int flash_write(int fd_current, int fd_target, int dev_target) -+static int flash_write(int fd_current, int fd_target, int dev_target, void *buf, -+ size_t count) - { - int rc; - -@@ -1212,11 +1213,10 @@ static int flash_write(int fd_current, i - if (IS_UBI(dev_target)) { - if (ubi_update_start(fd_target, CUR_ENVSIZE) < 0) - return -1; -- return ubi_write(fd_target, environment.image, CUR_ENVSIZE); -+ return ubi_write(fd_target, buf, count); - } - -- rc = flash_write_buf(dev_target, fd_target, environment.image, -- CUR_ENVSIZE); -+ rc = flash_write_buf(dev_target, fd_target, buf, count); - if (rc < 0) - return rc; - -@@ -1235,17 +1235,17 @@ static int flash_write(int fd_current, i - return 0; - } - --static int flash_read(int fd) -+static int flash_read(int fd, void *buf, size_t count) - { - int rc; - - if (IS_UBI(dev_current)) { - DEVTYPE(dev_current) = MTD_ABSENT; - -- return ubi_read(fd, environment.image, CUR_ENVSIZE); -+ return ubi_read(fd, buf, count); - } - -- rc = flash_read_buf(dev_current, fd, environment.image, CUR_ENVSIZE, -+ rc = flash_read_buf(dev_current, fd, buf, count, - DEVOFFSET(dev_current)); - if (rc != CUR_ENVSIZE) - return -1; -@@ -1291,7 +1291,7 @@ err: - return rc; - } - --static int flash_io_write(int fd_current) -+static int flash_io_write(int fd_current, void *buf, size_t count) - { - int fd_target = -1, rc, dev_target; - const char *dname, *target_temp = NULL; -@@ -1322,7 +1322,7 @@ static int flash_io_write(int fd_current - fd_target = fd_current; - } - -- rc = flash_write(fd_current, fd_target, dev_target); -+ rc = flash_write(fd_current, fd_target, dev_target, buf, count); - - if (fsync(fd_current) && !(errno == EINVAL || errno == EROFS)) { - fprintf(stderr, -@@ -1377,7 +1377,7 @@ static int flash_io_write(int fd_current - return rc; - } - --static int flash_io(int mode) -+static int flash_io(int mode, void *buf, size_t count) - { - int fd_current, rc; - -@@ -1391,9 +1391,9 @@ static int flash_io(int mode) - } - - if (mode == O_RDWR) { -- rc = flash_io_write(fd_current); -+ rc = flash_io_write(fd_current, buf, count); - } else { -- rc = flash_read(fd_current); -+ rc = flash_read(fd_current, buf, count); - } - - if (close(fd_current)) { -@@ -1455,7 +1455,7 @@ int fw_env_open(struct env_opts *opts) - } - - dev_current = 0; -- if (flash_io(O_RDONLY)) { -+ if (flash_io(O_RDONLY, environment.image, CUR_ENVSIZE)) { - ret = -EIO; - goto open_cleanup; - } -@@ -1490,7 +1490,7 @@ int fw_env_open(struct env_opts *opts) - * other pointers in environment still point inside addr0 - */ - environment.image = addr1; -- if (flash_io(O_RDONLY)) { -+ if (flash_io(O_RDONLY, environment.image, CUR_ENVSIZE)) { - ret = -EIO; - goto open_cleanup; - } |