delete_fdt_mem_rsv() defined in "arch/powerpc/kexec/file_load.c"
has been renamed to fdt_find_and_del_mem_rsv(), and moved to
"drivers/of/kexec.c".

Remove delete_fdt_mem_rsv() in "arch/powerpc/kexec/file_load.c".

Call of_kexec_setup_new_fdt() from setup_new_fdt_ppc64() and
remove setup_new_fdt() in "arch/powerpc/kexec/file_load.c".

Co-developed-by: Prakhar Srivastava <prsr...@linux.microsoft.com>
Signed-off-by: Prakhar Srivastava <prsr...@linux.microsoft.com>
Signed-off-by: Lakshmi Ramasubramanian <nra...@linux.microsoft.com>
---
 arch/powerpc/include/asm/kexec.h  |  4 ---
 arch/powerpc/kexec/file_load.c    | 60 -------------------------------
 arch/powerpc/kexec/file_load_64.c |  4 ++-
 3 files changed, 3 insertions(+), 65 deletions(-)

diff --git a/arch/powerpc/include/asm/kexec.h b/arch/powerpc/include/asm/kexec.h
index dbf09d2f36d0..b8c270e08481 100644
--- a/arch/powerpc/include/asm/kexec.h
+++ b/arch/powerpc/include/asm/kexec.h
@@ -123,10 +123,6 @@ char *setup_kdump_cmdline(struct kimage *image, char 
*cmdline,
 int setup_purgatory(struct kimage *image, const void *slave_code,
                    const void *fdt, unsigned long kernel_load_addr,
                    unsigned long fdt_load_addr);
-int setup_new_fdt(const struct kimage *image, void *fdt,
-                 unsigned long initrd_load_addr, unsigned long initrd_len,
-                 const char *cmdline);
-int delete_fdt_mem_rsv(void *fdt, unsigned long start, unsigned long size);
 
 #ifdef CONFIG_PPC64
 struct kexec_buf;
diff --git a/arch/powerpc/kexec/file_load.c b/arch/powerpc/kexec/file_load.c
index 9f3ec0b239ef..036c8fb48fc3 100644
--- a/arch/powerpc/kexec/file_load.c
+++ b/arch/powerpc/kexec/file_load.c
@@ -108,63 +108,3 @@ int setup_purgatory(struct kimage *image, const void 
*slave_code,
 
        return 0;
 }
-
-/**
- * delete_fdt_mem_rsv - delete memory reservation with given address and size
- *
- * Return: 0 on success, or negative errno on error.
- */
-int delete_fdt_mem_rsv(void *fdt, unsigned long start, unsigned long size)
-{
-       int i, ret, num_rsvs = fdt_num_mem_rsv(fdt);
-
-       for (i = 0; i < num_rsvs; i++) {
-               uint64_t rsv_start, rsv_size;
-
-               ret = fdt_get_mem_rsv(fdt, i, &rsv_start, &rsv_size);
-               if (ret) {
-                       pr_err("Malformed device tree.\n");
-                       return -EINVAL;
-               }
-
-               if (rsv_start == start && rsv_size == size) {
-                       ret = fdt_del_mem_rsv(fdt, i);
-                       if (ret) {
-                               pr_err("Error deleting device tree 
reservation.\n");
-                               return -EINVAL;
-                       }
-
-                       return 0;
-               }
-       }
-
-       return -ENOENT;
-}
-
-/*
- * setup_new_fdt - modify /chosen and memory reservation for the next kernel
- * @image:             kexec image being loaded.
- * @fdt:               Flattened device tree for the next kernel.
- * @initrd_load_addr:  Address where the next initrd will be loaded.
- * @initrd_len:                Size of the next initrd, or 0 if there will be 
none.
- * @cmdline:           Command line for the next kernel, or NULL if there will
- *                     be none.
- *
- * Return: 0 on success, or negative errno on error.
- */
-int setup_new_fdt(const struct kimage *image, void *fdt,
-                 unsigned long initrd_load_addr, unsigned long initrd_len,
-                 const char *cmdline)
-{
-       int ret;
-
-       ret = of_kexec_setup_new_fdt(image, fdt, initrd_load_addr, initrd_len, 
cmdline);
-       if (ret)
-               goto err;
-
-       return 0;
-
-err:
-       pr_err("Error setting up the new device tree.\n");
-       return -EINVAL;
-}
diff --git a/arch/powerpc/kexec/file_load_64.c 
b/arch/powerpc/kexec/file_load_64.c
index a05c19b3cc60..3cab318aa3b9 100644
--- a/arch/powerpc/kexec/file_load_64.c
+++ b/arch/powerpc/kexec/file_load_64.c
@@ -17,6 +17,7 @@
 #include <linux/kexec.h>
 #include <linux/of_fdt.h>
 #include <linux/libfdt.h>
+#include <linux/of.h>
 #include <linux/of_device.h>
 #include <linux/memblock.h>
 #include <linux/slab.h>
@@ -944,7 +945,8 @@ int setup_new_fdt_ppc64(const struct kimage *image, void 
*fdt,
        struct crash_mem *umem = NULL, *rmem = NULL;
        int i, nr_ranges, ret;
 
-       ret = setup_new_fdt(image, fdt, initrd_load_addr, initrd_len, cmdline);
+       ret = of_kexec_setup_new_fdt(image, fdt, initrd_load_addr, initrd_len,
+                                    cmdline);
        if (ret)
                goto out;
 
-- 
2.29.2

Reply via email to