x86/microcode/AMD: Get rid of the _load_microcode_amd() forward declaration
authorBorislav Petkov (AMD) <bp@alien8.de>
Thu, 23 Jan 2025 11:51:37 +0000 (12:51 +0100)
committerBorislav Petkov (AMD) <bp@alien8.de>
Mon, 17 Feb 2025 08:42:37 +0000 (09:42 +0100)
Simply move save_microcode_in_initrd() down.

No functional changes.

Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20250211163648.30531-5-bp@kernel.org
arch/x86/kernel/cpu/microcode/amd.c

index 90f93b3ca9dbb9b32991dfe37514bf9091f4d9a6..adfea4d0d129759b1b395c5084fe71b34c76a769 100644 (file)
@@ -593,34 +593,6 @@ void __init load_ucode_amd_bsp(struct early_load_data *ed, unsigned int cpuid_1_
                native_rdmsr(MSR_AMD64_PATCH_LEVEL, ed->new_rev, dummy);
 }
 
-static enum ucode_state _load_microcode_amd(u8 family, const u8 *data, size_t size);
-
-static int __init save_microcode_in_initrd(void)
-{
-       unsigned int cpuid_1_eax = native_cpuid_eax(1);
-       struct cpuinfo_x86 *c = &boot_cpu_data;
-       struct cont_desc desc = { 0 };
-       enum ucode_state ret;
-       struct cpio_data cp;
-
-       if (dis_ucode_ldr || c->x86_vendor != X86_VENDOR_AMD || c->x86 < 0x10)
-               return 0;
-
-       if (!find_blobs_in_containers(&cp))
-               return -EINVAL;
-
-       scan_containers(cp.data, cp.size, &desc);
-       if (!desc.mc)
-               return -EINVAL;
-
-       ret = _load_microcode_amd(x86_family(cpuid_1_eax), desc.data, desc.size);
-       if (ret > UCODE_UPDATED)
-               return -EINVAL;
-
-       return 0;
-}
-early_initcall(save_microcode_in_initrd);
-
 static inline bool patch_cpus_equivalent(struct ucode_patch *p,
                                         struct ucode_patch *n,
                                         bool ignore_stepping)
@@ -1004,6 +976,32 @@ static enum ucode_state load_microcode_amd(u8 family, const u8 *data, size_t siz
        return ret;
 }
 
+static int __init save_microcode_in_initrd(void)
+{
+       unsigned int cpuid_1_eax = native_cpuid_eax(1);
+       struct cpuinfo_x86 *c = &boot_cpu_data;
+       struct cont_desc desc = { 0 };
+       enum ucode_state ret;
+       struct cpio_data cp;
+
+       if (dis_ucode_ldr || c->x86_vendor != X86_VENDOR_AMD || c->x86 < 0x10)
+               return 0;
+
+       if (!find_blobs_in_containers(&cp))
+               return -EINVAL;
+
+       scan_containers(cp.data, cp.size, &desc);
+       if (!desc.mc)
+               return -EINVAL;
+
+       ret = _load_microcode_amd(x86_family(cpuid_1_eax), desc.data, desc.size);
+       if (ret > UCODE_UPDATED)
+               return -EINVAL;
+
+       return 0;
+}
+early_initcall(save_microcode_in_initrd);
+
 /*
  * AMD microcode firmware naming convention, up to family 15h they are in
  * the legacy file: