]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
lmb: allow lmb module to be used in SPL
authorSughosh Ganu <sughosh.ganu@linaro.org>
Mon, 26 Aug 2024 11:59:22 +0000 (17:29 +0530)
committerTom Rini <trini@konsulko.com>
Tue, 3 Sep 2024 20:08:50 +0000 (14:08 -0600)
With the introduction of separate config symbols for the SPL phase of
U-Boot, the condition checks need to be tweaked so that platforms that
enable the LMB module in SPL are also able to call the LMB API's. Use
the appropriate condition checks to achieve this.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
board/xilinx/common/board.c
boot/bootm.c
boot/image-board.c
fs/fs.c
lib/Makefile
net/tftp.c
net/wget.c

index 4056884400484a9392258815e36584da139b0ce3..f04c92a70fce2529058ce9f5e4651a9a3a2d78f2 100644 (file)
@@ -665,7 +665,7 @@ int embedded_dtb_select(void)
 }
 #endif
 
-#if defined(CONFIG_LMB)
+#if IS_ENABLED(CONFIG_LMB)
 
 #ifndef MMU_SECTION_SIZE
 #define MMU_SECTION_SIZE        (1 * 1024 * 1024)
index d47feddb9b4e4a84e3545e3e53bad82bd7072359..e244b9b410bafa845d1a7043086ad6c639974379 100644 (file)
@@ -239,7 +239,7 @@ static int boot_get_kernel(const char *addr_fit, struct bootm_headers *images,
        return 0;
 }
 
-#ifdef CONFIG_LMB
+#if CONFIG_IS_ENABLED(LMB)
 static void boot_start_lmb(void)
 {
        phys_addr_t     mem_start;
@@ -1036,7 +1036,7 @@ int bootm_run_states(struct bootm_info *bmi, int states)
                }
        }
 #endif
-#if CONFIG_IS_ENABLED(OF_LIBFDT) && defined(CONFIG_LMB)
+#if CONFIG_IS_ENABLED(OF_LIBFDT) && CONFIG_IS_ENABLED(LMB)
        if (!ret && (states & BOOTM_STATE_FDT)) {
                boot_fdt_add_mem_rsv_regions(images->ft_addr);
                ret = boot_relocate_fdt(&images->ft_addr, &images->ft_len);
index 1f8c1ac69fa4846cf9c60d42301312441e555c53..99ee7968baf31f2d1d9d65d807132f9e841fc09d 100644 (file)
@@ -883,7 +883,7 @@ int image_setup_linux(struct bootm_headers *images)
        int ret;
 
        /* This function cannot be called without lmb support */
-       if (!IS_ENABLED(CONFIG_LMB))
+       if (!CONFIG_IS_ENABLED(LMB))
                return -EFAULT;
        if (CONFIG_IS_ENABLED(OF_LIBFDT))
                boot_fdt_add_mem_rsv_regions(*of_flat_tree);
diff --git a/fs/fs.c b/fs/fs.c
index 2c835eef86001b855942f5f0087c4c001afbd2f1..3fb00590be69c37e74571010fdcb8a130e14bfc9 100644 (file)
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -526,7 +526,7 @@ int fs_size(const char *filename, loff_t *size)
        return ret;
 }
 
-#ifdef CONFIG_LMB
+#if CONFIG_IS_ENABLED(LMB)
 /* Check if a file may be read to the given address */
 static int fs_read_lmb_check(const char *filename, ulong addr, loff_t offset,
                             loff_t len, struct fstype_info *info)
@@ -567,7 +567,7 @@ static int _fs_read(const char *filename, ulong addr, loff_t offset, loff_t len,
        void *buf;
        int ret;
 
-#ifdef CONFIG_LMB
+#if CONFIG_IS_ENABLED(LMB)
        if (do_lmb_check) {
                ret = fs_read_lmb_check(filename, addr, offset, len, info);
                if (ret)
index 81b503ab526d97256bf5979a3a720f45902f8b78..d300249f57ce586e8e2456536b0084ca16a6f2d3 100644 (file)
@@ -118,7 +118,7 @@ obj-$(CONFIG_$(SPL_TPL_)OF_LIBFDT) += fdtdec.o fdtdec_common.o
 obj-y += hang.o
 obj-y += linux_compat.o
 obj-y += linux_string.o
-obj-$(CONFIG_LMB) += lmb.o
+obj-$(CONFIG_$(SPL_TPL_)LMB) += lmb.o
 obj-y += membuff.o
 obj-$(CONFIG_REGEX) += slre.o
 obj-y += string.o
index c0a6210b9d81add5bab53c7ab2b7c02a0a1d6bc8..99b2ab9fca6f63f738b61ccb2923f0fcf7a047d8 100644 (file)
@@ -82,9 +82,7 @@ static ulong  tftp_block_wrap;
 static ulong   tftp_block_wrap_offset;
 static int     tftp_state;
 static ulong   tftp_load_addr;
-#ifdef CONFIG_LMB
 static ulong   tftp_load_size;
-#endif
 #ifdef CONFIG_TFTP_TSIZE
 /* The file size reported by the server */
 static int     tftp_tsize;
@@ -160,19 +158,20 @@ static inline int store_block(int block, uchar *src, unsigned int len)
        ulong store_addr = tftp_load_addr + offset;
        void *ptr;
 
-#ifdef CONFIG_LMB
-       ulong end_addr = tftp_load_addr + tftp_load_size;
+       if (CONFIG_IS_ENABLED(LMB)) {
+               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;
+               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);
@@ -716,17 +715,18 @@ static void tftp_timeout_handler(void)
 /* Initialize tftp_load_addr and tftp_load_size from image_load_addr and lmb */
 static int tftp_init_load_addr(void)
 {
-#ifdef CONFIG_LMB
-       phys_size_t max_size;
+       if (CONFIG_IS_ENABLED(LMB)) {
+               phys_size_t max_size;
 
-       lmb_init_and_reserve(gd->bd, (void *)gd->fdt_blob);
+               lmb_init_and_reserve(gd->bd, (void *)gd->fdt_blob);
 
-       max_size = lmb_get_free_size(image_load_addr);
-       if (!max_size)
-               return -1;
+               max_size = lmb_get_free_size(image_load_addr);
+               if (!max_size)
+                       return -1;
+
+               tftp_load_size = max_size;
+       }
 
-       tftp_load_size = max_size;
-#endif
        tftp_load_addr = image_load_addr;
        return 0;
 }
index c1cd8216bc3e8ff22650e2b86304f453290ecfe4..241465b9b419350a0315950cd0fea63d2183ffa5 100644 (file)
@@ -98,7 +98,7 @@ static inline int store_block(uchar *src, unsigned int offset, unsigned int len)
        ulong newsize = offset + len;
        uchar *ptr;
 
-       if (IS_ENABLED(CONFIG_LMB)) {
+       if (CONFIG_IS_ENABLED(LMB)) {
                ulong end_addr = image_load_addr + wget_load_size;
 
                if (!end_addr)
@@ -495,7 +495,7 @@ void wget_start(void)
        debug_cond(DEBUG_WGET,
                   "\nwget:Load address: 0x%lx\nLoading: *\b", image_load_addr);
 
-       if (IS_ENABLED(CONFIG_LMB)) {
+       if (CONFIG_IS_ENABLED(LMB)) {
                if (wget_init_load_size()) {
                        printf("\nwget error: ");
                        printf("trying to overwrite reserved memory...\n");