kernel/resource: move and rename IORESOURCE_MEM_DRIVER_MANAGED
[linux-2.6-microblaze.git] / kernel / kexec_file.c
index ca40bef..e21f6b9 100644 (file)
@@ -24,6 +24,7 @@
 #include <linux/elf.h>
 #include <linux/elfcore.h>
 #include <linux/kernel.h>
+#include <linux/kernel_read_file.h>
 #include <linux/syscalls.h>
 #include <linux/vmalloc.h>
 #include "kexec_internal.h"
@@ -219,13 +220,12 @@ kimage_file_prepare_segments(struct kimage *image, int kernel_fd, int initrd_fd,
 {
        int ret;
        void *ldata;
-       loff_t size;
 
-       ret = kernel_read_file_from_fd(kernel_fd, &image->kernel_buf,
-                                      &size, INT_MAX, READING_KEXEC_IMAGE);
-       if (ret)
+       ret = kernel_read_file_from_fd(kernel_fd, 0, &image->kernel_buf,
+                                      INT_MAX, NULL, READING_KEXEC_IMAGE);
+       if (ret < 0)
                return ret;
-       image->kernel_buf_len = size;
+       image->kernel_buf_len = ret;
 
        /* Call arch image probe handlers */
        ret = arch_kexec_kernel_image_probe(image, image->kernel_buf,
@@ -241,12 +241,13 @@ kimage_file_prepare_segments(struct kimage *image, int kernel_fd, int initrd_fd,
 #endif
        /* It is possible that there no initramfs is being loaded */
        if (!(flags & KEXEC_FILE_NO_INITRAMFS)) {
-               ret = kernel_read_file_from_fd(initrd_fd, &image->initrd_buf,
-                                              &size, INT_MAX,
+               ret = kernel_read_file_from_fd(initrd_fd, 0, &image->initrd_buf,
+                                              INT_MAX, NULL,
                                               READING_KEXEC_INITRAMFS);
-               if (ret)
+               if (ret < 0)
                        goto out;
-               image->initrd_buf_len = size;
+               image->initrd_buf_len = ret;
+               ret = 0;
        }
 
        if (cmdline_len) {
@@ -520,7 +521,7 @@ static int locate_mem_hole_callback(struct resource *res, void *arg)
        /* Returning 0 will take to next memory range */
 
        /* Don't use memory that will be detected and handled by a driver. */
-       if (res->flags & IORESOURCE_MEM_DRIVER_MANAGED)
+       if (res->flags & IORESOURCE_SYSRAM_DRIVER_MANAGED)
                return 0;
 
        if (sz < kbuf->memsz)