diff mbox series

[02/20] net: Remove CONFIG_SYS_DIRECT_FLASH_TFTP

Message ID 20220723170512.1472738-2-trini@konsulko.com
State Accepted
Commit 52938fc4f0ba06e030aa17bca4f72623ed709c7a
Delegated to: Tom Rini
Headers show
Series [01/20] sh: Remove unused code in arch/sh/lib/bootm.c | expand

Commit Message

Tom Rini July 23, 2022, 5:04 p.m. UTC
No platforms enable the functionality to tftp directly to NOR flash, and
this is discouraged by the documentation.  Remove this code.  Further,
this highlights an oddity of the code.  Un-indent the start of this
function.

Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Ramon Fried <rfried.dev@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
 README                  | 13 -----------
 include/configs/kzm9g.h |  2 --
 net/tftp.c              | 52 +++++++++++------------------------------
 3 files changed, 13 insertions(+), 54 deletions(-)

Comments

Ramon Fried Aug. 6, 2022, 5:42 p.m. UTC | #1
On Sat, Jul 23, 2022 at 8:05 PM Tom Rini <trini@konsulko.com> wrote:
>
> No platforms enable the functionality to tftp directly to NOR flash, and
> this is discouraged by the documentation.  Remove this code.  Further,
> this highlights an oddity of the code.  Un-indent the start of this
> function.
>
> Cc: Joe Hershberger <joe.hershberger@ni.com>
> Cc: Ramon Fried <rfried.dev@gmail.com>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
>  README                  | 13 -----------
>  include/configs/kzm9g.h |  2 --
>  net/tftp.c              | 52 +++++++++++------------------------------
>  3 files changed, 13 insertions(+), 54 deletions(-)
>
> diff --git a/README b/README
> index ff0df3797d21..74e37aa95cc4 100644
> --- a/README
> +++ b/README
> @@ -1775,19 +1775,6 @@ Configuration Settings:
>                 If defined, hardware flash sectors protection is used
>                 instead of U-Boot software protection.
>
> -- CONFIG_SYS_DIRECT_FLASH_TFTP:
> -
> -               Enable TFTP transfers directly to flash memory;
> -               without this option such a download has to be
> -               performed in two steps: (1) download to RAM, and (2)
> -               copy from RAM to flash.
> -
> -               The two-step approach is usually more reliable, since
> -               you can check if the download worked before you erase
> -               the flash, but in some situations (when system RAM is
> -               too limited to allow for a temporary copy of the
> -               downloaded image) this option may be very useful.
> -
>  - CONFIG_SYS_FLASH_CFI:
>                 Define if the flash driver uses extra elements in the
>                 common flash structure for storing flash geometry.
> diff --git a/include/configs/kzm9g.h b/include/configs/kzm9g.h
> index e084f87d14dd..f94cb54c7050 100644
> --- a/include/configs/kzm9g.h
> +++ b/include/configs/kzm9g.h
> @@ -53,8 +53,6 @@
>  /* Timeout for Flash clear lock bit operations (in ms) */
>  #define CONFIG_SYS_FLASH_UNLOCK_TOUT   (3 * 1000)
>
> -#undef  CONFIG_SYS_DIRECT_FLASH_TFTP
> -
>  /* GPIO / PFC */
>  #define CONFIG_SH_GPIO_PFC
>
> diff --git a/net/tftp.c b/net/tftp.c
> index bfc4c9bde9cb..451d73529f2a 100644
> --- a/net/tftp.c
> +++ b/net/tftp.c
> @@ -17,9 +17,6 @@
>  #include <asm/global_data.h>
>  #include <net/tftp.h>
>  #include "bootp.h"
> -#ifdef CONFIG_SYS_DIRECT_FLASH_TFTP
> -#include <flash.h>
> -#endif
>
>  DECLARE_GLOBAL_DATA_PTR;
>
> @@ -158,47 +155,24 @@ static inline int store_block(int block, uchar *src, unsigned int len)
>                         tftp_block_size;
>         ulong newsize = offset + len;
>         ulong store_addr = tftp_load_addr + offset;
> -#ifdef CONFIG_SYS_DIRECT_FLASH_TFTP
> -       int i, rc = 0;
> -
> -       for (i = 0; i < CONFIG_SYS_MAX_FLASH_BANKS; i++) {
> -               /* start address in flash? */
> -               if (flash_info[i].flash_id == FLASH_UNKNOWN)
> -                       continue;
> -               if (store_addr >= flash_info[i].start[0]) {
> -                       rc = 1;
> -                       break;
> -               }
> -       }
> -
> -       if (rc) { /* Flash is destination for this packet */
> -               rc = flash_write((char *)src, store_addr, len);
> -               if (rc) {
> -                       flash_perror(rc);
> -                       return rc;
> -               }
> -       } else
> -#endif /* CONFIG_SYS_DIRECT_FLASH_TFTP */
> -       {
> -               void *ptr;
> +       void *ptr;
>
>  #ifdef CONFIG_LMB
> -               ulong end_addr = tftp_load_addr + tftp_load_size;
> +       ulong end_addr = tftp_load_addr + tftp_load_size;
>
> -               if (!end_addr)
> -                       end_addr = ULONG_MAX;
> +       if (!end_addr)
> +               end_addr = ULONG_MAX;
>
> -               if (store_addr < tftp_load_addr ||
> -                   store_addr + len > end_addr) {
> -                       puts("\nTFTP error: ");
> -                       puts("trying to overwrite reserved memory...\n");
> -                       return -1;
> -               }
> -#endif
> -               ptr = map_sysmem(store_addr, len);
> -               memcpy(ptr, src, len);
> -               unmap_sysmem(ptr);
> +       if (store_addr < tftp_load_addr ||
> +           store_addr + len > end_addr) {
> +               puts("\nTFTP error: ");
> +               puts("trying to overwrite reserved memory...\n");
> +               return -1;
>         }
> +#endif
> +       ptr = map_sysmem(store_addr, len);
> +       memcpy(ptr, src, len);
> +       unmap_sysmem(ptr);
>
>         if (net_boot_file_size < newsize)
>                 net_boot_file_size = newsize;
> --
> 2.25.1
>
Acked-by: Ramon Fried <rfried.dev@gmail.com>
diff mbox series

Patch

diff --git a/README b/README
index ff0df3797d21..74e37aa95cc4 100644
--- a/README
+++ b/README
@@ -1775,19 +1775,6 @@  Configuration Settings:
 		If defined, hardware flash sectors protection is used
 		instead of U-Boot software protection.
 
-- CONFIG_SYS_DIRECT_FLASH_TFTP:
-
-		Enable TFTP transfers directly to flash memory;
-		without this option such a download has to be
-		performed in two steps: (1) download to RAM, and (2)
-		copy from RAM to flash.
-
-		The two-step approach is usually more reliable, since
-		you can check if the download worked before you erase
-		the flash, but in some situations (when system RAM is
-		too limited to allow for a temporary copy of the
-		downloaded image) this option may be very useful.
-
 - CONFIG_SYS_FLASH_CFI:
 		Define if the flash driver uses extra elements in the
 		common flash structure for storing flash geometry.
diff --git a/include/configs/kzm9g.h b/include/configs/kzm9g.h
index e084f87d14dd..f94cb54c7050 100644
--- a/include/configs/kzm9g.h
+++ b/include/configs/kzm9g.h
@@ -53,8 +53,6 @@ 
 /* Timeout for Flash clear lock bit operations (in ms) */
 #define CONFIG_SYS_FLASH_UNLOCK_TOUT	(3 * 1000)
 
-#undef  CONFIG_SYS_DIRECT_FLASH_TFTP
-
 /* GPIO / PFC */
 #define CONFIG_SH_GPIO_PFC
 
diff --git a/net/tftp.c b/net/tftp.c
index bfc4c9bde9cb..451d73529f2a 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -17,9 +17,6 @@ 
 #include <asm/global_data.h>
 #include <net/tftp.h>
 #include "bootp.h"
-#ifdef CONFIG_SYS_DIRECT_FLASH_TFTP
-#include <flash.h>
-#endif
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -158,47 +155,24 @@  static inline int store_block(int block, uchar *src, unsigned int len)
 			tftp_block_size;
 	ulong newsize = offset + len;
 	ulong store_addr = tftp_load_addr + offset;
-#ifdef CONFIG_SYS_DIRECT_FLASH_TFTP
-	int i, rc = 0;
-
-	for (i = 0; i < CONFIG_SYS_MAX_FLASH_BANKS; i++) {
-		/* start address in flash? */
-		if (flash_info[i].flash_id == FLASH_UNKNOWN)
-			continue;
-		if (store_addr >= flash_info[i].start[0]) {
-			rc = 1;
-			break;
-		}
-	}
-
-	if (rc) { /* Flash is destination for this packet */
-		rc = flash_write((char *)src, store_addr, len);
-		if (rc) {
-			flash_perror(rc);
-			return rc;
-		}
-	} else
-#endif /* CONFIG_SYS_DIRECT_FLASH_TFTP */
-	{
-		void *ptr;
+	void *ptr;
 
 #ifdef CONFIG_LMB
-		ulong end_addr = tftp_load_addr + tftp_load_size;
+	ulong end_addr = tftp_load_addr + tftp_load_size;
 
-		if (!end_addr)
-			end_addr = ULONG_MAX;
+	if (!end_addr)
+		end_addr = ULONG_MAX;
 
-		if (store_addr < tftp_load_addr ||
-		    store_addr + len > end_addr) {
-			puts("\nTFTP error: ");
-			puts("trying to overwrite reserved memory...\n");
-			return -1;
-		}
-#endif
-		ptr = map_sysmem(store_addr, len);
-		memcpy(ptr, src, len);
-		unmap_sysmem(ptr);
+	if (store_addr < tftp_load_addr ||
+	    store_addr + len > end_addr) {
+		puts("\nTFTP error: ");
+		puts("trying to overwrite reserved memory...\n");
+		return -1;
 	}
+#endif
+	ptr = map_sysmem(store_addr, len);
+	memcpy(ptr, src, len);
+	unmap_sysmem(ptr);
 
 	if (net_boot_file_size < newsize)
 		net_boot_file_size = newsize;