The following commit has been merged into the x86/platform branch of tip:

Commit-ID:     9743cb68f736d986481edba4d00de454d2faa0ec
Gitweb:        
https://git.kernel.org/tip/9743cb68f736d986481edba4d00de454d2faa0ec
Author:        Mike Travis <[email protected]>
AuthorDate:    Tue, 10 Sep 2019 09:58:42 -05:00
Committer:     Ingo Molnar <[email protected]>
CommitterDate: Mon, 07 Oct 2019 13:42:10 +02:00

x86/platform/uv: Add return code to UV BIOS Init function

Add a return code to the UV BIOS init function that indicates the
successful initialization of the kernel/BIOS callback interface.

Signed-off-by: Mike Travis <[email protected]>
Reviewed-by: Steve Wahl <[email protected]>
Reviewed-by: Dimitri Sivanich <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: H. Peter Anvin <[email protected]>
Cc: Hedi Berriche <[email protected]>
Cc: Justin Ernst <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Russ Anderson <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Link: 
https://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
---
 arch/x86/include/asm/uv/bios.h |  2 +-
 arch/x86/platform/uv/bios_uv.c |  9 +++++----
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/arch/x86/include/asm/uv/bios.h b/arch/x86/include/asm/uv/bios.h
index 6e7caf6..389174e 100644
--- a/arch/x86/include/asm/uv/bios.h
+++ b/arch/x86/include/asm/uv/bios.h
@@ -138,7 +138,7 @@ extern s64 uv_bios_change_memprotect(u64, u64, enum 
uv_memprotect);
 extern s64 uv_bios_reserved_page_pa(u64, u64 *, u64 *, u64 *);
 extern int uv_bios_set_legacy_vga_target(bool decode, int domain, int bus);
 
-extern void uv_bios_init(void);
+extern int uv_bios_init(void);
 
 extern unsigned long sn_rtc_cycles_per_second;
 extern int uv_type;
diff --git a/arch/x86/platform/uv/bios_uv.c b/arch/x86/platform/uv/bios_uv.c
index c2ee319..ece9cb9 100644
--- a/arch/x86/platform/uv/bios_uv.c
+++ b/arch/x86/platform/uv/bios_uv.c
@@ -184,20 +184,20 @@ int uv_bios_set_legacy_vga_target(bool decode, int 
domain, int bus)
 }
 EXPORT_SYMBOL_GPL(uv_bios_set_legacy_vga_target);
 
-void uv_bios_init(void)
+int uv_bios_init(void)
 {
        uv_systab = NULL;
        if ((uv_systab_phys == EFI_INVALID_TABLE_ADDR) ||
            !uv_systab_phys || efi_runtime_disabled()) {
                pr_crit("UV: UVsystab: missing\n");
-               return;
+               return -EEXIST;
        }
 
        uv_systab = ioremap(uv_systab_phys, sizeof(struct uv_systab));
        if (!uv_systab || strncmp(uv_systab->signature, UV_SYSTAB_SIG, 4)) {
                pr_err("UV: UVsystab: bad signature!\n");
                iounmap(uv_systab);
-               return;
+               return -EINVAL;
        }
 
        /* Starting with UV4 the UV systab size is variable */
@@ -208,8 +208,9 @@ void uv_bios_init(void)
                uv_systab = ioremap(uv_systab_phys, size);
                if (!uv_systab) {
                        pr_err("UV: UVsystab: ioremap(%d) failed!\n", size);
-                       return;
+                       return -EFAULT;
                }
        }
        pr_info("UV: UVsystab: Revision:%x\n", uv_systab->revision);
+       return 0;
 }

Reply via email to