Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 27 Dec 2018 00:56:00 +0000 (16:56 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 27 Dec 2018 00:56:00 +0000 (16:56 -0800)
Pull x86 boot updates from Ingo Molnar:
 "Two cleanups"

* 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/boot: Add missing va_end() to die()
  x86/boot: Simplify the detect_memory*() control flow

arch/x86/boot/boot.h
arch/x86/boot/memory.c
arch/x86/boot/tools/build.c

index ef5a9cc66fb82e296139b1b39559cc8adbb5b14b..32a09eb5c101b2a313cc26af7d0d7cb0cf9e3124 100644 (file)
@@ -309,7 +309,7 @@ void query_edd(void);
 void __attribute__((noreturn)) die(void);
 
 /* memory.c */
-int detect_memory(void);
+void detect_memory(void);
 
 /* pm.c */
 void __attribute__((noreturn)) go_to_protected_mode(void);
index 7df2b28207be6c589d2478d130c924ebdd0073d7..f06c147b5140b6e2c3732dd05bfc628ac6fdc589 100644 (file)
@@ -17,7 +17,7 @@
 
 #define SMAP   0x534d4150      /* ASCII "SMAP" */
 
-static int detect_memory_e820(void)
+static void detect_memory_e820(void)
 {
        int count = 0;
        struct biosregs ireg, oreg;
@@ -68,10 +68,10 @@ static int detect_memory_e820(void)
                count++;
        } while (ireg.ebx && count < ARRAY_SIZE(boot_params.e820_table));
 
-       return boot_params.e820_entries = count;
+       boot_params.e820_entries = count;
 }
 
-static int detect_memory_e801(void)
+static void detect_memory_e801(void)
 {
        struct biosregs ireg, oreg;
 
@@ -80,7 +80,7 @@ static int detect_memory_e801(void)
        intcall(0x15, &ireg, &oreg);
 
        if (oreg.eflags & X86_EFLAGS_CF)
-               return -1;
+               return;
 
        /* Do we really need to do this? */
        if (oreg.cx || oreg.dx) {
@@ -89,7 +89,7 @@ static int detect_memory_e801(void)
        }
 
        if (oreg.ax > 15*1024) {
-               return -1;      /* Bogus! */
+               return; /* Bogus! */
        } else if (oreg.ax == 15*1024) {
                boot_params.alt_mem_k = (oreg.bx << 6) + oreg.ax;
        } else {
@@ -102,11 +102,9 @@ static int detect_memory_e801(void)
                 */
                boot_params.alt_mem_k = oreg.ax;
        }
-
-       return 0;
 }
 
-static int detect_memory_88(void)
+static void detect_memory_88(void)
 {
        struct biosregs ireg, oreg;
 
@@ -115,22 +113,13 @@ static int detect_memory_88(void)
        intcall(0x15, &ireg, &oreg);
 
        boot_params.screen_info.ext_mem_k = oreg.ax;
-
-       return -(oreg.eflags & X86_EFLAGS_CF); /* 0 or -1 */
 }
 
-int detect_memory(void)
+void detect_memory(void)
 {
-       int err = -1;
-
-       if (detect_memory_e820() > 0)
-               err = 0;
-
-       if (!detect_memory_e801())
-               err = 0;
+       detect_memory_e820();
 
-       if (!detect_memory_88())
-               err = 0;
+       detect_memory_e801();
 
-       return err;
+       detect_memory_88();
 }
index bf0e824003584c3d941b64b587a531678e902126..a93d44e58f9ceb5c410a1e4457ab994adf9caba4 100644 (file)
@@ -132,6 +132,7 @@ static void die(const char * str, ...)
        va_list args;
        va_start(args, str);
        vfprintf(stderr, str, args);
+       va_end(args);
        fputc('\n', stderr);
        exit(1);
 }