net: Remove CONFIG_SYS_DIRECT_FLASH_TFTP
authorTom Rini <trini@konsulko.com>
Sat, 23 Jul 2022 17:04:54 +0000 (13:04 -0400)
committerTom Rini <trini@konsulko.com>
Thu, 4 Aug 2022 20:18:47 +0000 (16:18 -0400)
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
include/configs/kzm9g.h
net/tftp.c

diff --git a/README b/README
index 623f359..8a50bf6 100644 (file)
--- a/README
+++ b/README
@@ -1747,19 +1747,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.
index e084f87..f94cb54 100644 (file)
@@ -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
 
index bfc4c9b..451d735 100644 (file)
@@ -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;